2012-11-08 102 views
0

類別如何獲得第一個ID的第一個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> 

我可以通過

$('ul').find('li:first').attr('id'); 

假設得到的第一個ID我想第一id基於類別,如何獲取?在我來說,我想獲得B類(ans has to be 3

回答

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

+0

感謝,這是解決了。 –

+0

@LearneR ..不客氣:) –

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

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

你最喜歡的風格(取決於您的代碼)的第一個ID

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'); 

注意:從0:eq()開始而:nth-child()開始從1

See Demo

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

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

這個代碼$( 'UL李:第一')。ID不起作用 –

1
確實

一個類別ALWA你有ID嗎?如果不是:

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

JSbin example

你應該使用HTML數據 - 屬性的類別中,以更有效的標記