使用jQuery检查元素是否存在

时间:2012-12-18 17:18:35

标签: jquery conditional-operator

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

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

or

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

3 个答案:

答案 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'){

    }
});