Javascript 此函数是否执行:jQuery(“.class”).function();如果在此页面上找不到该类?

Javascript 此函数是否执行:jQuery(“.class”).function();如果在此页面上找不到该类?,javascript,jquery,Javascript,Jquery,只是一个简单的问题 我想知道在下面的代码中,如果页面上没有.banner类,是否会运行unslider() jQuery(“.banner”).unslider() 我不希望它在没有.banner类的页面上运行 我需要做类似的事情吗 如果(jQuery(“.banner”)>0){ jQuery(“.banner”).unslider(); } 不,如果找不到元素,它将不会执行 plugin方法将被调用,但由于没有与选择器匹配的元素,因此不应执行任何操作-但这同样取决于插件的实现方式如果类不可用

只是一个简单的问题

我想知道在下面的代码中,如果页面上没有.banner类,是否会运行unslider()

jQuery(“.banner”).unslider()

我不希望它在没有.banner类的页面上运行

我需要做类似的事情吗

如果(jQuery(“.banner”)>0){ jQuery(“.banner”).unslider(); }


不,如果找不到元素,它将不会执行


plugin方法将被调用,但由于没有与选择器匹配的元素,因此不应执行任何操作-但这同样取决于插件的实现方式

如果
不可用,通常不会执行后续操作,但进行初步检查会更安全

你必须喜欢这个

if(jQuery(".banner").length > 0){ jQuery(".banner").unslider(); }


您需要使用
length
属性来检查元素是否存在

if (jQuery(".banner").length > 0)
{ 
   jQuery(".banner").unslider(); 
}
您甚至不需要检查它是否大于零

if (jQuery(".banner").length)
{ 
   jQuery(".banner").unslider(); 
}

是的,它运行并执行以下()命令:

因此,它对您的收藏执行
.each()

但是,如果该集合为空,则传递给
.each()
的函数将不会运行,因此“不多”最能描述如果运行
$('.banner')。unslider()


顺便说一句,除非您确定调用将很重,否则尝试通过执行
.length
检查来“优化”这个是没有意义的。

最后一个条件没有意义,因为在表达式中所有对象都被认为是真实的。@Jack我认为它将返回未定义的。谢谢你的新信息。但我只想返回在这种情况下它将返回的东西。?谢谢它返回一个空集,或者如果愿意,返回一个空数组;但即使是空数组也被认为是真实的。
if (jQuery(".banner").length)
{ 
   jQuery(".banner").unslider(); 
}
$.fn.unslider = function(o) {
    var len = this.length;

    //  Enable multiple-slider support
    return this.each(function(index) {
        //  Cache a copy of $(this), so it 
        var me = $(this);
        var instance = (new Unslider).init(me, o);

        //  Invoke an Unslider instance
        me.data('unslider' + (len > 1 ? '-' + (index + 1) : ''), instance);
    });
};