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

时间:2017-03-01 07:50:57

标签: javascript dom

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

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;
}

但它给出了同样的错误 -

  

预期对象

6 个答案:

答案 0 :(得分:48)

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

答案 1 :(得分: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>

答案 2 :(得分:3)

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

您的情况也是错误的,您正在检查

  

if(myEle == null)

你应该改为

  

if(myEle!= null)

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

答案 3 :(得分: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 */

答案 4 :(得分:1)

getElementById

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

真实vs虚假

在JavaScript中,真实值是在布尔上下文中求值时认为是正确的值。除非将它们定义为虚假(即,除了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
}

答案 5 :(得分:1)

使用typeof进行元素检查。

if(typeof(element) === 'undefined')
{
// then field does not exist
}