2010-07-30 37 views
9
<ul> 
    <li>No</li> 
    <li>Yes</li> 
    <li>No</li> 
</ul> 

//demostration purpose 
$('ul').get(2).text(); 


//output = Yes 

訪問列表中的特定項目的最佳方式是什麼?並將其用作選擇器?jQuery通過索引在列表中找到

回答

19

您可以使用.eq():eq()得到jQuery對象中的列表:

$('ul li').eq(1).text(); 
//or: 
$('ul :eq(1)').text(); 

You can try a demo here。當你得到.get()時,你會得到一個DOM元素,它沒有任何jQuery功能。請記住,這兩個都是0的,所以您需要1才能在您的示例中獲得「是」。

還有其他basic filters you may be interested in,例如:lt()(低於指數),:gt()(大於索引),:first:last和其他幾個人。

+1

@Andy - 在我的例子頁面注意到,剛剛睡醒:) – 2010-07-30 10:08:24

+0

'第n個孩子(N)'不接受從零開始的數字,所以我過去總是混淆兩者,必須仔細檢查。真的,這是規格不一致的錯。無論如何,我只是編輯它來證明我的+1:p – 2010-07-30 10:15:44

+0

@Andy - 同意,在這一點上我認爲':nth-​​child()是一個紅頭髮的繼子,實際上我很少在實踐中每天都使用它無論如何。也許一旦我們放棄了對IE7 *和IE8的支持(已經下降了6,wooohoo!),我可以開始在CSS中使用它,但在jQuery中,我發現它並不是非常有用。 – 2010-07-30 10:18:43

1

使用:eq過濾器選擇:

$('ul li:eq(0)').text(); // gets first li 
$('ul li:eq(1)').text(); // gets second li 
$('ul li:eq(2)').text(); // gets third li 
// and so on 
+0

微妙的差異 – Prabs 2016-03-31 09:29:01