【问题标题】:How to check DOM element is present or not in plain Javascript [closed]如何在纯Javascript中检查DOM元素是否存在[关闭]
【发布时间】:2018-08-03 01:52:06
【问题描述】:

知道如何使用 id 在纯 javascript 中检查 Dom 元素是否存在

我正在寻找堆栈溢出和一些讨论,但每个答案都指向 jquery if($('#frameBox').length == 0) { .... }

我尝试过if(document.getElementById('frameBox').length == 0) 之类的方法,但它不起作用

【问题讨论】:

标签: javascript


【解决方案1】:

您的代码不起作用,因为 getElementById 返回单个 HTML 元素,而不是具有 length 属性的类似数组的元素集合,您可以获得该属性。

另外,请注意,由于您尝试通过其 id 获取元素,因此无论如何您最终都会返回一个元素,或者 null,如果没有与给定 id 匹配的元素。

对于多个分组元素,请尝试使用类和getElementsByClassNamequerySelectorAll。然后,您可以在上面使用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) {
  //...
}

【讨论】:

    【解决方案2】:

    使用querySelectorAll:例如:

    var elements = document.querySelectorAll("#frameBox");
    console.log(elements.length);
    

    虽然,您不应该在多个元素上使用相同的 id,这就是类的用途。

    【讨论】:

      【解决方案3】:
      元素的

      id 应该是唯一的。所以 document.getElementById 只会返回一个元素。

      您可以使用 class 代替 id。 document.getElementsByClassName 返回与该类匹配的所有元素。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-25
        • 2014-11-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-02
        • 2012-09-28
        相关资源
        最近更新 更多