如何在我的代码中打破jquery中的循环

时间:2014-03-19 15:10:05

标签: jquery

如何在JavaScript中打破.each循环,

if(badCatsNames.length > 0)
{
    for (var i = 0; i < badCatsNames.length; i++) {
        var badCatName = badCatsNames[i];

        $("[id$=listAvailableCats] li").each(function (index) {
            if ($(this).text() == badCatName) {
                $(this).appendTo($("[id$=listPurchasingCats]"));
            }
            else {
                $("[id$=listPurchasingCats] li").each(function (index) {
                    if ($(this).text() == badCatName) {
                        $(this).appendTo($("[id$=listAvailableCats]"));
                    }
                });
            }
        });
    } 
}}

我想要什么

如果代码在可用的猫列表中找到坏猫名称,则断开并再次启动@ for loop

如果您也可以改进代码,请执行:)

2 个答案:

答案 0 :(得分:6)

return true;将跳过当前的迭代并转到下一个,return false;将完全退出each循环。

答案 1 :(得分:1)

你可以使用return false;随时退出循环。

if(badCatsNames.length > 0)
{
for (var i = 0; i < badCatsNames.length; i++) {
    var badCatName = badCatsNames[i];

    $("[id$=listAvailableCats] li").each(function (index) {
        if ($(this).text() == badCatName) {
            $(this).appendTo($("[id$=listPurchasingCats]"));
        }
        else {
            $("[id$=listPurchasingCats] li").each(function (index) {
                if ($(this).text() == badCatName) {
                    $(this).appendTo($("[id$=listAvailableCats]"));
         return false;
                }
            });
        }
    });
} 
}};