2012-10-18 67 views
3

我目前主要关注jQuery 1.8.2中的以下问题。jQuery无法获取UL元素的自定义属性

自定义属性适用于例如输入字段:

<input id="test" required="true"> 

$("#test").prop("required") 

true 

$("#test").get(0).required 

true 

但是没有UL元件。

<ul id="test" required="true"></ul> 

$("#test").prop("required") 

undefined 

$("#test").get(0).required 

undefined 

任何想法为什么它不适用于Firefox 16中的UL元素,但在MSIE 8中?谢谢!

+1

是否'required'一个'ul'元素有意义吗? – undefined

+0

我有特定的“清单”输入,UL是“组”。 – Peter

回答

-1

您必须使用:

$('#test').attr('required') 
+0

当你提醒它返回'required' –

+0

不,这只是返回所需的独立的值(真/假) – Peter

+0

你是对的,我没有测试它。这是我在代码中使用自定义属性时的做法。对不起,对于不正确的答案。 – voodmania

1

这是因为HTML5 required是投入要素的有效属性和jQuery返回该属性的值,并为ul元素required仅仅是一个无效的属性。一个ul元素没有required属性,所以它是未定义的。

http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#the-required-attribute

+0

这个答案几乎是正确的。但是,诸如asdf之类的组合属性得到了同样的问题 – Peter

+0

Attr是否适合他们? – sync

+0

属性和DOM属性之间存在巨大差异。 – undefined

相关问题