Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
停止jQuery each()循环_Jquery_Each - Fatal编程技术网

停止jQuery each()循环

停止jQuery each()循环,jquery,each,Jquery,Each,因此,我有一个.item类的多个实例,但被分成不同的部分(它是每个确定的类,不能更改)。。。现在的问题是,我的代码使用:odd来更改项目的背景,但是当下一节开始时,它会离开上一节。因此: 如果实例1有3个项目,则项目2将突出显示。 然后实例2将第一个项目置高位。它不会再次“启动”循环。希望这是有道理的 这是我目前掌握的代码: $('.item').each(function(){ $('.item:odd').css('background','#FFF4F9'); }); 因此,实例

因此,我有一个.item类的多个实例,但被分成不同的部分(它是每个确定的类,不能更改)。。。现在的问题是,我的代码使用:odd来更改项目的背景,但是当下一节开始时,它会离开上一节。因此:

如果实例1有3个项目,则项目2将突出显示。 然后实例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>


提前感谢。

在每个处理函数中使用
返回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');