是否允许列表项的价值?

时间:2013-11-25 14:10:16

标签: javascript jquery html

 <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访问该值?

4 个答案:

答案 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}}