繁体   English   中英

如何检查元素的存在?

[英]How to check for the presence of an element?

我在一个条件语句中使用.length方法,该语句轮询页面是否存在外部加载的对象(我不能使用jQuery对其进行样式化,直到它存在):

 function hackyFunction() { if($('#someObject').length<1) { setTimeout(hackyFunction,50) } else { $('#someObject').someMethod() }} 

length是最好的方法吗?

如果您只是在寻找特定元素,则可以使用document.getElementById

function hackyFunction() {
    if (document.getElementById("someObject")) {
         // Exist
    } else {
         // Doesn't exist
    }
}

是的你应该使用.length 你不能使用if ($('#someObject')) ...因为jQuery选择器返回一个jQuery对象,并且任何对象在JavaScript中都是真实的。

如果你正在寻找一个ID,那么它应该只有一个,所以你也可以这样写:

if($('#someObject')[0])

是的, .length是可以接受的,通常是我使用的。

使用jQuery,检查长度可以正常工作。

if (!$('#someObject').length) {
    console.log('someObject not present');
}

当然使用vanilla JavaScript,您只需检查document.getElementById (如果按id获取元素)

if (document.getElementById('someObject')) {
    console.log('someObject exists');
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM