根据类别获取第一个ID

时间:2012-11-08 07:29:36

标签: jquery

如何根据类别

获取第一个ID
<ul>
    <li id="1" category="A">One</li>
    <li id="2" category="A">Two</li>
    <li id="3" category="B">Three</li>
    <li id="4" category="B">Four</li>
</ul>

从上面的代码我可以通过

得到第一个id
$('ul').find('li:first').attr('id');

假设我想根据类别获得第一个ID,如何获得?在我的情况下,我想获得类别B的第一个id。(ans has to be 3

5 个答案:

答案 0 :(得分:1)

$('ul').find('li[category=B]').first().attr('id');

$('ul li[category=B]:first').attr('id')

您喜欢哪种风格(取决于您的代码)

答案 1 :(得分:1)

$('ul li[category="A"]:eq(0)').attr('id');

$('ul li[category="A"]:first').attr('id');

$('ul li[category="A"]:nth-child(1)').attr('id');

注意: :eq()从0开始,:nth-child()从1开始

<强> See Demo

答案 2 :(得分:1)

 $("#id of ul").children(":first");

 $("ul li:first").attr("id")

答案 3 :(得分:1)

某个类别是否始终有ID?如果没有:

$('ul').find('li[category=B][id]:first').attr('id');

JSbin example

您应该使用类别的HTML数据属性来获得更有效的标记

答案 4 :(得分:1)

试试这个

$('ul').find('li[category="B"]').first().attr('id');

另请注意,您的HTML不会被验证,因为您没有使用默认属性。而是尝试使用数据属性来验证您的标记..

<ul>
    <li id="1" data-category="A">One</li>
    <li id="2" data-category="A">Two</li>
    <li id="3" data-category="B">Three</li>
    <li id="4" data-category="B">Four</li>
</ul>​

$('ul').find('li[data-category="B"]').first().attr('id');

<强> Check Fiddle