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

问题描述 投票:25回答:5

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

1).

var myEle = document.getElementById("myElement");
if(myEle  == null){
   var myEleValue= document.getElementById("myElement").value;
}

2).

if(getElementById("myElement")){
    var myEleValue= document.getElementById("myElement").value;
}

但它给出了同样的错误 -

预期的对象

javascript dom
5个回答
48
投票
 var myEle = document.getElementById("myElement");
    if(myEle){
        var myEleValue= myEle.value;
    }

6
投票

你可以简单地使用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");
<div id="elemA"></div>

3
投票

您需要指定从哪个对象调用getElementById。在这种情况下,您可以使用文档。您也不能直接在任何元素上调用.value。例如,如果元素是文本框.value将返回值,但如果它是div,则它将没有值。

你也有错误的条件,你正在检查

if(myEle == null)

你应该改变

if(myEle!= null)

var myEle = document.getElementById("myElement");
if(myEle != null) { 
    var myEleValue= myEle.value; 
}

2
投票
document.getElementById('yourId')

是正确的方法。

该文档引用DOM中加载的HTML文档。

它使用函数getElementById()搜索id,该函数接受元素id的参数

解决方案是:

var elem = (document.getElementById('myElement'))? document.getElementById('myElement').value : '';

/* this will assign a value or give you and empty string */

1
投票

的getElementById

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

Truthy vs Falsy

在JavaScript中,truthy值是在布尔上下文中计算时被视为true的值。除非将它们定义为假(即,除了false,0,“”,null,undefined和NaN),否则所有值都是真实的。见:https://developer.mozilla.org/en-US/docs/Glossary/Truthy

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

var myElement = document.getElementById("myElement");
if(myElement){
  // Element exists
}
© www.soinside.com 2019 - 2024. All rights reserved.