Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检查普通Javascript中是否存在DOM元素_Javascript - Fatal编程技术网

如何检查普通Javascript中是否存在DOM元素

如何检查普通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

任何关于如何检查Dom元素的想法都存在于使用id的普通javascript中

我在搜索堆栈溢出和一些讨论,但每个答案都指向jquery
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以获取详细解释