在我的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;
}
但它给出了同样的错误 -
预期的对象
var myEle = document.getElementById("myElement");
if(myEle){
var myEleValue= myEle.value;
}
你可以简单地使用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。在这种情况下,您可以使用文档。您也不能直接在任何元素上调用.value。例如,如果元素是文本框.value将返回值,但如果它是div,则它将没有值。
你也有错误的条件,你正在检查
if(myEle == null)
你应该改变
if(myEle!= null)
var myEle = document.getElementById("myElement");
if(myEle != null) {
var myEleValue= myEle.value;
}
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 */
的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
}