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


当前回答

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

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

别忘了,jQuery只不过是围绕本地Javascript命令和财产的复杂(而且非常有用)包装器

其他回答

你的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){}

您还可以使用类似数组的表示法并检查第一个元素。空数组或集合的第一个元素是未定义的,因此可以得到“正常”的javascript truthy/falsy行为:

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

试试看:

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

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

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

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

别忘了,jQuery只不过是围绕本地Javascript命令和财产的复杂(而且非常有用)包装器

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

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