如何查找具有特定id的元素是否存在

Ami*_*til 33 javascript dom

在我的JavaScript中,我想检查具有特定id的元素是否存在,我尝试了两种方法

1).

var myEle = document.getElementById("myElement");
if(myEle  == null){
   var myEleValue= document.getElementById("myElement").value;
}
Run Code Online (Sandbox Code Playgroud)

2).

if(getElementById("myElement")){
    var myEleValue= document.getElementById("myElement").value;
}
Run Code Online (Sandbox Code Playgroud)

但它给出了同样的错误 -

预期的对象

Mr.*_*uno 68

 var myEle = document.getElementById("myElement");
    if(myEle){
        var myEleValue= myEle.value;
    }
Run Code Online (Sandbox Code Playgroud)

  • @AmitaPatil 不,它没有,但是您可以检查是否定义了变量,仅在 if 中检查它,如果未定义变量 myEle,则 if 将选择 else 代码块 (3认同)
  • 使用`if(myEle!= null){}` (2认同)
  • 您还应该考虑将其包装在加载事件回调中,就好像 DOM 未加载一样,即使该元素存在,也永远不会执行 if ! (2认同)

Wee*_*oze 7

您可以简单地使用 if(yourElement)

var a = document.getElementById("elemA");
var b = document.getElementById("elemB");

if(a)
  console.log("elemA exists");
else
  console.log("elemA does not exist");
  
if(b)
  console.log("elemB exists");
else
  console.log("elemB does not exist");
Run Code Online (Sandbox Code Playgroud)
<div id="elemA"></div>
Run Code Online (Sandbox Code Playgroud)


kho*_*man 7

getElementById

返回值: 一个元素对象,表示具有指定 ID 的元素。如果不存在具有指定 ID 的元素,则返回 null,请参见:https : //www.w3schools.com/jsref/met_document_getelementbyid.asp

真与假

在 JavaScript 中,真值是在布尔上下文中计算时被认为是真的值。所有值都是真值,除非它们被定义为假(即,假、0、""、空、未定义和 NaN 除外)。请参阅:https : //developer.mozilla.org/en-US/docs/Glossary/Truthy

当在 中找不到 dom 元素时document,它将返回null。null 是一个 Falsy,可以boolean expression在 if 语句中使用。

var myElement = document.getElementById("myElement");
if(myElement){
  // Element exists
}
Run Code Online (Sandbox Code Playgroud)