0

カテゴリに基づいて最初の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

4

5 に答える 5

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

また

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

どちらのスタイルでも(コードによって異なります)

于 2012-11-08T07:30:19.880 に答える
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 から始まります

デモを見る

于 2012-11-08T07:33:30.493 に答える
1
 $("#id of ul").children(":first");

また

 $("ul li:first").attr("id")
于 2012-11-08T07:36:18.477 に答える
1

カテゴリには常に ID がありますか? そうでない場合:

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

JSbin の例

より有効なマークアップを作成するには、カテゴリに HTML の data- 属性を使用する必要があります

于 2012-11-08T07:36:47.277 に答える
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');

フィドルをチェック

于 2012-11-08T07:36:59.037 に答える