2011-04-01 41 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停止調用該函數。但是,常規循環和中斷語句可能會更清晰。