用jQuery定位每个第n个li:eq

时间:2009-10-05 21:51:03

标签: jquery

现在,我有一个带有5个或更多LI的UL的场景 - 对于每个UL,我想对第5个LI应用特定的样式。

使用:

$("ul li:eq(4)")

对于页面上的第一个UL工作正常,但是对于剩余的UL而言也是如此。任何想法如何让这一点击中所有UL?

另外,最终我想定位5的多个 - 所以第5个,第10个,第15个等等......如果没有手动说明eq(9),eq(14)等,我不知道如何实现这个目标......

2 个答案:

答案 0 :(得分:6)

尝试

$("ul li:nth-child(5)")

From jquery website

答案 1 :(得分:1)

$('ul li:nth-child(5)')应该为您提供每个第5个列表项。

至于为什么jQuery没有为你页面中的所有列表设置样式,这很奇怪。您是否已将该声明放在代码的另一部分中,它只与页面的某个特定部分一起使用(即,您是否无意中设置了比您想要的更具体的上下文)?您可以通过在声明中添加以下内容来找到:

console.log ($("ul li:nth-child(5)", document.body).context.nodeName);