检查 jQuery 中是否存在元素

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

答案

$('elemId').length对我不起作用。

您需要将#放在元素 ID 之前:

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

使用香草 JavaScript 时,您不需要哈希( # ),例如document.getElementById('id_here') ,但是在使用 jQuery 时,您确实需要像 CSS 一样基于id将哈希放入目标元素。

尝试检查选择器的长度,如果选择器返回了某些内容,则该元素必须存在,否则不存在。

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
}

尝试这个:

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

如果元素不存在,则 length 属性将返回零。

如何检查元素是否存在

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

如果为0 ,则它将计算为false ,而除true

不需要大于,小于比较。

顾名思义,您的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){}

您也可以使用类似数组的符号,并检查第一个元素。空数组或集合的第一个元素只是undefined ,因此您将获得 “正常” 的 javascript 真实 / 错误行为:

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

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

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

别忘了,jQuery 只是围绕本机 Javascript 命令和属性的复杂(非常有用)包装器

如果您的元素上有一个类,则可以尝试以下操作:

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