如何检查普通Javascript中是否存在DOM元素
任何关于如何检查Dom元素的想法都存在于使用id的普通javascript中 我在搜索堆栈溢出和一些讨论,但每个答案都指向jquery如何检查普通Javascript中是否存在DOM元素,javascript,Javascript,任何关于如何检查Dom元素的想法都存在于使用id的普通javascript中 我在搜索堆栈溢出和一些讨论,但每个答案都指向jqueryif($('#frameBox')。length==0){……} 我尝试过类似的if(document.getElementById('frameBox')。length==0)但它不起作用使用querySelectorAll:例如: var elements = document.querySelectorAll("#frameBox"); console.lo
if($('#frameBox')。length==0){……}
我尝试过类似的
if(document.getElementById('frameBox')。length==0)
但它不起作用使用querySelectorAll
:例如:
var elements = document.querySelectorAll("#frameBox");
console.log(elements.length);
尽管您不应该在多个元素上使用相同的id,但这正是类的用途。您的代码不起作用,因为它返回的是单个HTML元素,而不是具有
length
属性的类似数组的元素集合
另外,请注意,由于您试图通过元素的id获取元素,因此始终会返回一个元素,或者如果没有与给定id匹配的元素,则返回null
对于多个分组元素,请尝试使用类和或。然后,您可以在上面使用length
示例代码:
// Check if an element with id 'frameBox' exists.
if (document.getElementById("frameBox")) {
//...
}
// Check if there are any elements with class 'frameBox'.
if (document.getElementsByClassName("frameBox").length) {
//...
}
元素的id应是唯一的。因此document.getElementById将只返回一个元素
您可以使用类来代替id。document.getElementsByClassName返回与类匹配的所有元素
getElementById('frameBox')
。#
是jQuery识别ID的方法。您想要什么?所有元素的计数?可能重复的可能重复检查@ojusKulkarni以获取详细解释