2010-08-09 101 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