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

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

但它给出了与下面相同的错误-

预计目标

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

如果 dom 中没有实际存在元素,则 getElementById 的返回值为 null,因此 if 语句将失败,因为 null 被认为是一个假值

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 */

您可以简单地使用 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>

您需要指定从哪个对象调用 getElementById。在这种情况下,您可以使用 document。你也不能随便打电话。直接对任何元素赋值。例如,如果元素是文本框。Value 将返回值,但如果是 div,则不会有值。

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

如果(myEle = = null)

你应该改成

如果(myEle! = null)

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

GetElementById

返回值: 元素对象,表示具有指定 ID 的元素。如果不存在具有指定 ID 的元素,则返回空 参见: http://www.w3school. com/jsref/met _ document _ getelementbyid.asp”rel = “ norefrer”> https://www.w3schools.com/jsref/met_document_getelementbyid.asp

真心对假意

在 JavaScript 中,true 值是在布尔上下文中求值时被认为为 true 的值。所有值都是真值,除非它们被定义为 false (即,除了 false、0、“”、 null、 unDefinition 和 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
}

对元素检查使用 typeof。

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

这对我检查元素是否退出有效

let element = document.getElementById("element_id");
if (typeof(element) !== 'undefined' && element!== null)
{
//content
}
if( document.getElementById("myElement") ){
console.log('exists');
}

或者更短的路

if( document.querySelector("#myElement") ){}