当前位置:  开发笔记 > 编程语言 > 正文

如何在JQuery中打破/退出each()函数?

如何解决《如何在JQuery中打破/退出each()函数?》经验,为你挑选了4个好方法。

我有一些代码:

$(xml).find("strengths").each(function() {
   //Code
   //How can i escape from this block based on a condition.
});

如何根据条件从"每个"代码块中逃脱?

更新:

如果我们有这样的事情怎么办:

$(xml).find("strengths").each(function() {
   $(this).each(function() {
       //I want to break out from both each loops at the same time.
   });
});

是否有可能从内部"每个"功能中突破"每个"功能?

#19.03.2013

如果你想继续而不是爆发

return true;

Greg.. 1002

根据文档,你可以简单return false;地打破:

$(xml).find("strengths").each(function() {

    if (iWantToBreak)
        return false;
});

"我们可以通过使回调函数返回false来在特定迭代中中断$ .each()循环.返回非false与for循环中的continue语句相同;它将立即跳到下一次迭代." (27认同)

简单的"回归"对我不起作用.这就是为什么我用Google搜索并发现这篇文章.'return false'有效.我正在运行osx lion with chrome. (12认同)

请注意,这不会杀死主函数,循环可能会中断,但是当您使用此jQuery每个都在继续之前检查所需的字段时,无论中断如何都会继续.为此你应该在循环中使用var kill变量集,如果kill == 1则在它之外读取以返回 (7认同)


Subodh Ghula.. 116

您可以使用 return false;

+----------------------------------------+
| JavaScript              | PHP          |
+-------------------------+--------------+
|                         |              |
| return false;           | break;       |
|                         |              |
| return true; or return; | continue;    |
+-------------------------+--------------+

@SubodhGhulaxe在javascript中返回false`意味着在PHP中返回布尔类型相同.但是在`jquery.each()`中,它将被jQuery解释为停止循环. (6认同)

我的意思是说回归虚假; 在javascript中与PHP中的break相同并返回true; 或返回; 与继续相同 (4认同)

@SubodhGhulaxe它是jQuery而不是javascript (2认同)


Guffa.. 106

从匿名函数返回false:

$(xml).find("strengths").each(function() {
  // Code
  // To escape from this block based on a condition:
  if (something) return false;
});

从每种方法的文档:

从每个函数中返回'false'会完全停止循环遍历所有元素(这就像使用带有正常循环的'break').从循环内返回'true'会跳到下一次迭代(这就像使用带有正常循环的'continue').


adardesign.. 24

if (condition){ // where condition evaluates to true 
    return false
}

3天前看到类似的问题.



1> Greg..:

根据文档,你可以简单return false;地打破:

$(xml).find("strengths").each(function() {

    if (iWantToBreak)
        return false;
});


"我们可以通过使回调函数返回false来在特定迭代中中断$ .each()循环.返回非false与for循环中的continue语句相同;它将立即跳到下一次迭代."
简单的"回归"对我不起作用.这就是为什么我用Google搜索并发现这篇文章.'return false'有效.我正在运行osx lion with chrome.
请注意,这不会杀死主函数,循环可能会中断,但是当您使用此jQuery每个都在继续之前检查所需的字段时,无论中断如何都会继续.为此你应该在循环中使用var kill变量集,如果kill == 1则在它之外读取以返回

2> Subodh Ghula..:

您可以使用 return false;

+----------------------------------------+
| JavaScript              | PHP          |
+-------------------------+--------------+
|                         |              |
| return false;           | break;       |
|                         |              |
| return true; or return; | continue;    |
+-------------------------+--------------+


@SubodhGhulaxe在javascript中返回false`意味着在PHP中返回布尔类型相同.但是在`jquery.each()`中,它将被jQuery解释为停止循环.
我的意思是说回归虚假; 在javascript中与PHP中的break相同并返回true; 或返回; 与继续相同
@SubodhGhulaxe它是jQuery而不是javascript

3> Guffa..:

从匿名函数返回false:

$(xml).find("strengths").each(function() {
  // Code
  // To escape from this block based on a condition:
  if (something) return false;
});

从每种方法的文档:

从每个函数中返回'false'会完全停止循环遍历所有元素(这就像使用带有正常循环的'break').从循环内返回'true'会跳到下一次迭代(这就像使用带有正常循环的'continue').



4> adardesign..:
if (condition){ // where condition evaluates to true 
    return false
}

3天前看到类似的问题.

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有