2011-04-01 44 views
11

例如我使用下面的代码:jquery - 如何从每个语句退出(break函数)?

$("img").each(function(i){ 
    x += $("img:eq(" + i ")").width(); 
    if(some conditional) return; 
}); 

回来后我想不添加任何对x,我怎么可能实现呢?

+1

回归将打破按预期的循环,什么是你遇到的问题? – Ant 2011-04-01 14:59:57

+1

@Ant:你熟悉jQuery吗? 'return'将从函数返回,但只返回false;'将打破循环。 – 2011-04-01 15:02:02

+0

它似乎只返回退出单'功能(i)' – joshua 2011-04-01 15:02:35

回答

32

JQuery doco ...

我们可以通过将回调函数返回false打破在一个特定的迭代。每个$()循环。返回非错误与for循环中的continue语句相同;它会立即跳到下一个迭代。

所以基本上这意味着...

return false; = break;

return true;return; = continue;

7

您可以return false导致each停止调用该函数。但是,常规循环和中断语句可能会更清晰。