3

我目前正在关注 jQuery 1.8.2 的以下问题。

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

<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 但在 MSIE 8 中的 UL 元素?谢谢!

4

3 回答 3

4

如果您出于某种原因需要使用自定义属性,请查看 HTML5data-属性。

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

console.log($('#test').data('required'));

http://ejohn.org/blog/html-5-data-attributes/

http://api.jquery.com/data/#data-html5

于 2012-10-18T09:14:49.063 回答
1

那是因为 HTML5required是输入元素的有效属性,而 jQuery 返回此属性的值,而ul元素required只是无效属性。一个ul元素没有required属性,所以它是未定义的。

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

于 2012-10-18T09:10:57.843 回答
-1

您必须使用:

$('#test').attr('required')
于 2012-10-18T09:07:50.830 回答