我有一个名为addItem()的自定义函数,其中包含each()函数。当满足某个条件时,我需要退出addItem()函数。我不能使用return
因为它只从each()函数退出并仍然运行main函数内的其余代码。我试过exit
,它似乎完美无缺。我只是不知道使用exit
是否是正确的方法,因为我没有看到exit
使用过多。
这是我的代码:
var addItem = function (position) {
$(position + ' .item_div').each(function() {
if($(this).find('.item').val() == '') {
alert('Cannot be empty');
exit; // exit from addItem() function
// return does not work
}
});
...........
...........
rest of the code here... this gets executed ONLY if each() fails...
...........
...........
}
答案 0 :(得分:3)
你可以使用return false来打破.each循环。
您可以通过返回false来停止回调函数中的循环。
var addItem = function (position) {
var valid = true;
$(position + ' .item_div').each(function() {
if($(this).find('.item').val() == '') {
alert('Cannot be empty');
valid = false;
return false;
}
});
if(!valid) {
return;
}
...........
...........
rest of the code here... this gets executed ONLY if each() fails...
...........
...........
}
答案 1 :(得分:0)
根据文件。是。您需要在循环Break loop
中return false;
$('.someclass').each(function() {
if (someConditionMet)
return false;
});
答案 2 :(得分:0)
你尝试过使用break吗? break语句“跳出”循环。
或者您可以创建标签并使用goto跳转到该标签。