关于javascript:检查jquery中是否存在元素

Check if element exists in jQuery

本问题已经有最佳答案,请猛点这里访问。

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


$('elemId').length doesn't work for
me.

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

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

对于普通的javascript,您不需要散列(#)例如document.getElementById('id_here'),但是在使用jquery时,您需要像css一样将散列放到基于id的目标元素上。


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

1
2
3
4
5
6
7
8
9
10
 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
}


试试这个:

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

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


How do I check if an element exists

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

如果是0,它将对false进行评估,而不是对true进行评估。

没有必要进行大于、小于比较。


您的EDOCX1[4]顾名思义,是EDOCX1[3]属性,您可以通过以下方法检查它是否存在:

香草javascript:如果您有更高级的选择器:

1
2
3
4
5
6
7
//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:

1
if(jQuery("#elemId").length){}


您还可以使用类似数组的表示法并检查第一个元素。空数组或集合的第一个元素只是undefined,因此您可以得到"正常"的javascript真实/错误行为:

1
2
3
4
5
6
7
var el = $('body')[0];
if (el) {
    console.log('element found', el);
}
if (!el) {
    console.log('no element found');
}


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

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

别忘了,jquery只不过是一个围绕本机javascript命令和属性的复杂(非常有用)包装器而已。


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

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