停止jQuery each()循环
因此,我有一个.item类的多个实例,但被分成不同的部分(它是每个确定的类,不能更改)。。。现在的问题是,我的代码使用:odd来更改项目的背景,但是当下一节开始时,它会离开上一节。因此: 如果实例1有3个项目,则项目2将突出显示。 然后实例2将第一个项目置高位。它不会再次“启动”循环。希望这是有道理的 这是我目前掌握的代码:停止jQuery each()循环,jquery,each,Jquery,Each,因此,我有一个.item类的多个实例,但被分成不同的部分(它是每个确定的类,不能更改)。。。现在的问题是,我的代码使用:odd来更改项目的背景,但是当下一节开始时,它会离开上一节。因此: 如果实例1有3个项目,则项目2将突出显示。 然后实例2将第一个项目置高位。它不会再次“启动”循环。希望这是有道理的 这是我目前掌握的代码: $('.item').each(function(){ $('.item:odd').css('background','#FFF4F9'); }); 因此,实例
$('.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>
提前感谢。在每个处理函数中使用
返回false在中使用返回false
每个循环都会中断循环。在您的代码示例中,根本没有使用的理由。每个处理函数都只运行了相同的查找3次。您需要将循环约束到一个容器中分类现在,看起来您正在将整个文档中的每隔一个.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>
使用的选择器$('.item:odd')
是否在循环中无需重新填充将索引页面上的所有class=项
要在容器中隔离odd
:
$('.container').each(function(){
$(this).find('.item:odd').css('background','#FFF4F9');
});
为了避免中断循环,或测试元素落在何处,为什么不简单地使用以下方法:
$('.listitem').parent().find('.listitem:odd').css('background','#F00');
这将使用.listitem
选择器,查找父元素,然后查找该父元素的:odd
子元素,因此在每个父元素中,无论是什么,都会重新开始“编号”
.有一个:nth child(odd)
CSS伪类,它几乎完全实现了您想要的功能,根本不需要任何JavaScript。此外,您不能有多个ID相同的项。$('.item')。每个(函数(索引,值){如果(索引==something){return false},则使用索引声明返回false。这将停止循环。您有六个ID相同的ID
元素。因此,您的html无效,因此如果出现问题,请不要感到惊讶(诚然,这个问题不受重复项的影响,但可能会出现其他问题)。
$('.listitem').parent().find('.listitem:odd').css('background','#F00');