我喜欢
<div class="first">
<ol>
<li>E</li>
<li>F</li><!--Red Background-->
<li>G</li>
<li>H</li><!--Red Background-->
<li>E</li>
<li>F</li><!--Red Background-->
<li>G</li>
<li>H</li><!--Red Background-->
<li>E</li>
<li>F</li><!--Red Background-->
<li>G</li>
<li>H</li><!--Red Background-->
</ol>
</div>
我选择了偶数li,意思是第二,第四......
所以我这样写
var count = jQuery(".first ol li").size();
for (var i=1; i<=count; i++ ){
if(i%2 == 0){
console.log(i);
jQuery(".first ol:last li:nth-child(2) ").css("background", "red");
}
}
但它会给出一些错误。它可以被选中。如何选择PLZ帮助
答案 0 :(得分:4)
var evenLis = $(".first li:odd");
是的,我的意思是:odd
!由于元素被0
编入索引,2
,4
等是奇数。
如果您关心表现,可以更快地使用filter
:
var evenLis = $(".first li").filter(":odd");
为什么这会更快? jQuery文档清楚地说明了这一点:
因为:odd是jQuery扩展而不是CSS的一部分 规范,查询使用:奇不能利用 本机DOM querySelectorAll()提供的性能提升 方法。使用时达到最佳性能:奇数选择 元素,首先使用纯CSS选择器选择元素 使用.filter(“:odd”)。
答案 1 :(得分:2)
为什么不这样做?
jQuery(".first ol li:nth-child(even)".css("background", "red");
答案 2 :(得分:1)
只需:odd
...
jQuery(".first ol:last :odd").css("background", "red");
也许ol:last
也是多余的。取决于你的DOM
答案 3 :(得分:0)
您需要将nth-child值作为公式。而不是2放2n:
jQuery(".first ol:last li:nth-child(2n) ").css("background", "red");