大家有木有好的解决办法哇。
有个stop方法,不过好像是停止执行动画的。

解决方案 »

  1.   

    用break;语句代替return false;
      

  2.   

    each本质上是个循环体,你想判断跳出循环体的话直接if(xx){break;}试试
      

  3.   

    是改成这样吗?
    $(".red").each(function(){
            var s=$(this).css("display");
            if(s=='inline'){
                break;
            }
        })这样会报错,提示循环之外不能有break;
      

  4.   

    错了看了下手册,用return false;可以跳出each()循环的,相当于for循环中使用break,楼主一楼的代码应该没有问题啊。
      

  5.   

    $(".red").each()的返回值还是$(".red"),所以我认为单独靠程序控制的话你的法子也算可行.
    我水平有限,没有听说Javascript里面有类似于System.Exit之类的方法.
    另外一种曲线救国的方法是你再定义个CSS类,里面有display:inline; ,修改画面时指定类而不是
    指定CSS属性,这样你就可以用选择器来查找,类似于
    if($(".newCssClass").size() > 0){
        return false;
    }
      

  6.   

    return false;
    就已经足够了
      

  7.   

    这个例子可以看出,return false后就终止each()循环了。
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js"></script>
    <script type="text/javascript">
    $(document).ready( function() {
    $("span.red").each( function() {
    $(this).css("background-color", "blue");
    if ($(this).css("display") == "inline") return false;
    });
    });
    </script>
    </head><body>
    <span class="red" style="display:none;">DEMO1</span>
    <span class="red">DEMO2</span>
    <span class="red">DEMO3</span>
    </body>
    </html>
      

  8.   


    呵呵,你的思路不错阿。我怎么就没有想到呢,这就试试去。
    我google了很久,好像也没有看到System.exit之类的方法 。呵呵
      

  9.   

    嗯 ,是啊。终止了each循环,但是会继续执行下面的语句(如果有的话)
      

  10.   


    遇到return false就立即终止了,不会继续执行下面的语句,你在后面加一句alert()就能看到了。
      

  11.   

    用Break去试试。return是停止当前的这一次循环。break是结束整个循环。
      

  12.   

    我把代码改成这样了
    $(".red").each(function(){
    var s=$(this).css("display");
    alert(s);
    if(s=='inline'){
                            alert("yyy");
    return false;
    }
    })
    alert("xxx");
    第一次弹出inline,第二次弹出yyy。第三次弹出xxx。这不是证明return false中是终止了each里面的循环?
      

  13.   

    continue :return true;
    break :return false;
    直接return也会跳出jquery。Jquery中没有break吧?
      

  14.   

    return就return呗,还+个false干啥或者你写成return true试试
      

  15.   

    试试这个呢
    loopend: xxxxx代码
    break loopend 我记者js里面可以跳 你试试吧
      

  16.   

    呵呵,return true相当于结束本次循环,就相当于Java,for语句中的continue;
      

  17.   

    我觉得楼主加上这句已经是很不错的了:
        if(n==1){
            return false;
        }
      

  18.   

    楼主没有说清楚,他的意图是想跳出each所在的函数,而不是each内部函数
      

  19.   

    如果业务逻辑不修改,那么只能按你自己的代码来退出
    each里设置一个变量值,each之后判断这个变量来退出
      

  20.   

     var istrue = true;
                if ((kind == '1' || kind == '3') && backind == "2") {
                    $('.req2').each(function() {
                        if ($(this).val() == '') {
                             $(this).focus();
                            istrue = false
                            return;
                        }
                    });
                    if (!istrue) {
                        return;
                    }