0

我想让 jquery 仅在特定的 #id 或 .class 可用时才工作。我想知道哪个是正确的???请帮助...谢谢

if($().flexslider) {
//do something
}

or

if ( $( '#flexslider' ).length && jQuery().flexslider ) {
//do something
}
4

3 回答 3

2

safely使用长度来确定 DOM 元素是否exists.

if ( $('#flexslider').length) //For item with id flexslider

或者

if ( $('.classname').length) //For item with class classname

检查函数是否存在

if ($.isFunction(window.yourFunName))        //with jQuery

if(typeof(callback) == "function")           //with javascript
于 2012-12-18T17:19:51.117 回答
0

如果要确保元素存在,并且加载了 flexslider 插件,请执行后者:

if ( $( '#flexslider' ).length && jQuery().flexslider ) {
    //do something
}

如果您只想检查元素是否存在,请执行以下操作:

if($('#flexslider').length) {
    //do something
}
于 2012-12-18T17:21:19.133 回答
0

大多数时候,正确是在旁观者的眼中。通常有多种方法可以解决问题。如果要检查绑定函数的存在和 DOM 节点的存在,则需要在函数之后捕获两者ready并将typeof变量与函数进行比较以查看它是否为真。

$(function(){
    if($('#flexslider').length && typeof flexslider == 'function'){

    }
});
于 2012-12-18T17:22:38.103 回答