2012-10-18 66 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

相關問題