2010-08-09 102 views
6

我該如何選擇jquery的第三個(或其他一些我的chioce)li元素? 例如: 我如何更改jQuery的第三個li的背景。任何幫助,請只選擇第三個li

回答

14

我怎麼只選擇3日(

使用eq方法是這樣的:

$('li').eq(2).css('background', 'yellow'); 

或者你可以使用:eq濾波器選擇的這種變化:

$('li:eq(2)').css('background', 'yellow'); 

索引編制從開始,你需要指定2實際選擇第三li

然而,如果你要選擇每第三個元素,你需要使用nth-child這樣的:

$('li:nth-child(3n)') 

的指數nth-child但是從1開始。

+0

出於好奇,我上當了一下週圍與選擇。事實證明,使用'slice'和act並且整個包裝集比使用'nnth-child'要快。 http://www.jsfiddle.net/qbDKN/13/ – jAndy 2010-08-09 10:18:50

+0

@jAndy:這是很聰明的工作:) – Sarfraz 2010-08-09 10:21:22

+0

@jAndy - 我得到了相反的結果,'eq'幾乎減慢了兩倍。記住'nth-child'是一個css選擇器,並且由某些瀏覽器本地實現。 – Kobi 2010-08-09 10:28:02

7

如果你需要的所有列表的第三li,使用nth-child

$('li:nth-child(3)') 
+0

這會選擇每三個孩子不僅 – Sarfraz 2010-08-09 09:58:02

+0

@Sarfraz - 這將是'n孩子(3n)' – Kobi 2010-08-09 09:58:50

+0

我假設我被低估,因爲Sarfraz編輯他的答案,包括我的聲稱後,它不是正確。美好時光。 – Kobi 2010-08-09 10:08:11