只是一个简单的问题。

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


  jQuery(“。banner”)。unslider();


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

我需要做类似的事情吗


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

最佳答案

是的,它将运行并执行以下(source):

$.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);
    });
};


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

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

顺便说一句,尝试通过.length检查“优化”此操作没有任何意义,除非您确定调用会很繁琐。

关于javascript - 此函数是否执行:jQuery(“。class”)。function();如果在此页面上找不到类(class)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21844511/

10-11 13:53