<ul id="my-list">
<li value="1001">item1 </li>
<li value="1002">item2 </li>
<li value="1003">item3 </li>
<li value="1004">item4 <li/>
</ul>
是否允许列表项的值?如果可以,如何使用javascript或jquery访问该值?
答案 0 :(得分:0)
您可以向节点添加任何类型的自定义数据属性(当然HTML不会验证,也不会是有效的XHTML文档)。然后,您可以使用jQuery attr()函数(例如)访问它们。
那说这是一个糟糕的做法,你应该使用一个标准的data-
属性,例如data()函数可以访问(更多细节和提供的链接中的例子):
var theValue = $("#yourItemId").data("value");
对于如下属性:
<li id="yourItemId" data-value="1001">item1</li>
答案 1 :(得分:0)
如果您想制作有效 HTML5,您应该坚持自定义属性的data
属性:
<li data-value="1001">
但是,任何元素都可以具有自定义属性。实际上,自从第5版(有时称为 expando属性)以来,它已成为IE中的标准。
答案 2 :(得分:0)
为此,我建议使用jquery Data
<ul id="my-list">
<li data-value="1001">item1 </li>
<li data-value="1002">item2 </li>
<li data-value="1003">item3 </li>
<li data-value="1004">item4 <li/>
</ul>
获得第二个li值
$("#my-list").children().eq(2).data("value");
答案 3 :(得分:0)
根据W3C specification for LI
element,在某些情况下允许value
使用LI
属性,但不允许使用<ul id="my-list>
<li data-my-value="...">...</li>
<li data-my-value="123">...</li>
<li data-my-value="...">...</li>
</ul>
属性。如果您使用的是HTML5,请使用data-*
attributes:
$("ul#my-list li[data-my-value='123']")...
要使用jQuery获取对特定元素的引用,请使用以下选择器:
LI
或者,如果您已引用所有var $items = $listItems.filter(function() {
retrun $(this).data("my-value") === "123";
});
元素,请使用jQuery.filter()
:
{{1}}