首页 文章

检查jQuery中是否存在元素[重复]

提问于
浏览
1074

这个问题在这里已有答案:

如果元素是由 .append() 方法创建的,如何检查元素是否存在? $('elemId').length 对我不起作用 .

8 回答

  • 100

    您可以使用本机JS来测试对象的存在:

    if (document.getElementById('elemId') instanceof Object){
        // do something here
    }
    

    不要忘记,jQuery只不过是一个复杂的(并且非常有用)本机Javascript命令和属性的包装器

  • 24

    如果您的元素上有一个类,那么您可以尝试以下方法:

    if( $('.exists_content').hasClass('exists_content') ){
     //element available
    }
    
  • 1512

    $('elemId') . 长度对我不起作用 .

    你需要在元素id之前放置 #

    $('#elemId').length
    ---^
    

    使用vanilla JavaScript,您不需要散列( # ),例如 document.getElementById('id_here') ,但是在使用jQuery时,你需要像CSS一样基于 id 将哈希值放到目标元素中 .

  • 7

    尝试检查选择器的长度,如果它返回一些东西,那么元素必须存在,否则不存在 .

    if( $('#selector').length )         // use this if you are using id to check
    {
         // it exists
    }
    
    
     if( $('.selector').length )         // use this if you are using class to check
    {
         // it exists
    }
    
  • 53

    试试这个:

    if ($("#mydiv").length > 0){
      // do something here
    }
    

    如果element不存在,则length属性将返回零 .

  • -14

    您还可以使用类似数组的表示法并检查第一个元素 . 空数组或集合的第一个元素只是 undefined ,因此您获得"normal" javascript truthy / falsy行为:

    var el = $('body')[0];
    if (el) {
        console.log('element found', el);
    }
    if (!el) {
        console.log('no element found');
    }
    
  • 11

    您的 elemId 顾名思义,是一个 Id 属性,您可以执行以下操作来检查它是否存在:

    Vanilla JavaScript: 如果您有更高级的选择器:

    //you can use it for more advanced selectors
    if(document.querySelectorAll("#elemId").length){}
    
    if(document.querySelector("#elemId")){}
    
    //you can use it if your selector has only an Id attribute
    if(document.getElementById("elemId")){}
    

    jQuery:

    if(jQuery("#elemId").length){}
    
  • 306

    如何检查元素是否存在

    if ($("#mydiv").length){  }
    

    如果它是 0 ,它将评估为 false ,超过 true .

    不需要大于,小于比较 .

相关问题