所以我有一个.item类的多个实例,但是被分成不同的部分(它是一个确定的类,不能改变)...现在的问题是我有使用的代码:odd来改变背景这些项目,但是当下一部分开始时,它会从最后一部分开始。这样:
如果Instance One有3个项目,则第2项将突出显示。 然后实例二将使第一个项目成为高位。它不再“开始”循环。希望这是有道理的。
这是我到目前为止的代码:
$('.item').each(function(){
$('.item:odd').css('background','#FFF4F9');
});
所以实例1:
<div class="item" id="linkitem"><div class="link-item"><a title="" target="_blank" href="#">LINK</a></div></div>
<div class="item" id="linkitem"><div class="link-item"><a title="" target="_blank" href="#">LINK</a></div></div>
<div class="item" id="linkitem"><div class="link-item"><a title="" target="_blank" href="#">LINK</a></div></div>
实例2:
<div class="item" id="linkitem"><div class="link-item"><a title="" target="_blank" href="#">LINK</a></div></div>
<div class="item" id="linkitem"><div class="link-item"><a title="" target="_blank" href="#">LINK</a></div></div>
<div class="item" id="linkitem"><div class="link-item"><a title="" target="_blank" href="#">LINK</a></div></div>
提前感谢。
答案 0 :(得分:3)
选择器使用$('.item:odd')
无论是否在循环中都将索引页面上的所有class = item
隔离容器中的odd
:
$('.container').each(function(){
$(this).find('.item:odd').css('background','#FFF4F9');
});
答案 1 :(得分:2)
为避免不得不突破循环,或测试元素落在何处,为什么不简单地使用以下内容:
$('.listitem').parent().find('.listitem:odd').css('background','#F00');
这将选择.listitem
选择器,查找父项,然后找到该父项的:odd
子项,因此在每个父元素中,无论可能是什么,都会重新启动“编号”
答案 2 :(得分:1)
在每个处理函数中返回false
答案 3 :(得分:1)
在return false
循环中使用each
将打破循环。
答案 4 :(得分:1)
您需要将循环约束到某种容器。现在看起来你正在使整个文档中的所有其他.item变成不同的颜色。如果只想要容器中的所有其他行。所以如果你有:
<div class="container">
<div class="item></div>
<div class="item></div>
<div class="item></div>
</div>
<div class="container">
<div class="item></div>
<div class="item></div>
<div class="item></div>
</div>
您可以使用以下代码:
$('.container').each(function(){
$('.item:odd').css('background','#FFF4F9');
});
答案 5 :(得分:0)
在你的代码示例中没有任何理由使用。或者你只是运行相同的查找3次。