使用Jquery 1.8.0 return false不会破坏each()循环

时间:2012-12-05 16:29:47

标签: jquery loops break each

这是我正在使用的脚本。

    $('.row').each(function(){
        $(this).each(function(){
            if($(this).find('.name').val()==""){

                $(this).find('.name').val(data.name);
                $(this).find('.autonomy').val(data.autonomy);
                $(this).find('.purpose').val(data.purpose);
                $(this).find('.flow').val(data.flow);
                $(this).find('.relatedness').val(data.relatedness);
                $(this).find('.challenge').val(data.challenge);
                $(this).find('.mastery').val(data.mastery);
                $(this).find('.colour').val(data.colour);
                done=true;
            }
            if(done==true){
                alert("here");
                return false;
            }
        });
    });

它似乎完全忽略了返回错误,我似乎无法理解为什么!

2 个答案:

答案 0 :(得分:2)

不需要嵌套each。删除内部的return false将起作用:

$(".row").each(function() {
    // ...
    if (done === true) {
        alert("here");
        return false;
    }
});​

答案 1 :(得分:2)

首先向我们展示您的DOM。

你只有停止第二个()的回报。如果你想要停止第一个,你需要以其他方式做到这一点。

抱歉,我无法发表评论,但我的声誉不允许。