我想让jquery只在特定的#id或.class可用时才能工作。我想知道哪一个是正确的???请帮忙......谢谢
if($().flexslider) {
//do something
}
or
if ( $( '#flexslider' ).length && jQuery().flexslider ) {
//do something
}
答案 0 :(得分: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
答案 1 :(得分:0)
如果你想确保元素存在,并且加载了flexslider插件,那么执行后者:
if ( $( '#flexslider' ).length && jQuery().flexslider ) {
//do something
}
如果您只想检查元素是否存在,请执行以下操作:
if($('#flexslider').length) {
//do something
}
答案 2 :(得分:0)
大多数时候,正确的观点是在旁观者的眼中。通常有多种方法可以解决问题。如果要检查是否存在绑定函数以及是否存在DOM节点,那么您需要在ready
函数之后捕获它们并将typeof
变量与函数进行比较以查看是否存在这是真的。
$(function(){
if($('#flexslider').length && typeof flexslider == 'function'){
}
});