日期:2014-05-16  浏览次数:20345 次

Jquery中的each如何停止执行呢?
Morning everyone!

  我的问题是这样的源代码:

 
JScript code
$(".red").each(function(){
        var s=$(this).css("display");
        if(s=='inline'){
            return false;
        }
    })

  我想要的效果是,检查页面所有的类名为.red的span,如果发现有了,就停止继续执行。
可是无奈,在上面的code中的return false;只能停止执行这个each。我想要的效果是停止执行整个函数就是想问一下可以吗?


我最后的解决方法是这样的:
JScript code
var n=0;
    $(".red").each(function(){
        var s=$(this).css("display");
        if(s=='inline'){
            n=1;
            return false;
        }
    })
    if(n==1){
        return false;
    }

不过感觉这种方式很不好

------解决方案--------------------
错了。。。看了下手册,用return false;可以跳出each()循环的,相当于for循环中使用break,楼主一楼的代码应该没有问题啊。
------解决方案--------------------
$(".red").each()的返回值还是$(".red"),所以我认为单独靠程序控制的话你的法子也算可行.
我水平有限,没有听说Javascript里面有类似于System.Exit之类的方法.
另外一种曲线救国的方法是你再定义个CSS类,里面有display:inline; ,修改画面时指定类而不是
指定CSS属性,这样你就可以用选择器来查找,类似于
if($(".newCssClass").size() > 0){
return false;
}