【问题标题】:check whether an element exists using jQuery使用 jQuery 检查元素是否存在
【发布时间】:2012-12-05 23:13:22
【问题描述】:

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

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

or

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

【问题讨论】:

    标签: jquery conditional-operator


    【解决方案1】:

    safely使用length来判断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
    

    【讨论】:

      【解决方案2】:

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

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

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

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-02-17
          • 2011-06-26
          • 2011-07-14
          • 2011-03-25
          • 1970-01-01
          • 2011-06-03
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多