如果存在特定元素,是否可以为同一个变量分配不同的值?
Is there a way to assign different values to the same variable if a specific element exists?
我试图根据元素是否存在于 DOM 中为 javascript 中的同一个变量分配不同的值。到目前为止我有
if(document.body.contains(document.getElementById('a'))){
var newVar = document.getElementById('a').innerHTML;
} else if(document.body.contains(document.getElementById('b'))){
var newVar = document.getElementById('b').innerHTML;
}
但是,这仅在选中的变量 'a' 存在时才有效。我知道这种方法可能有点不合常规,并且想知道是否有一种简单的方法可以做到这一点,或者它是否不可能,因为它是声明的同一个变量。
您可以在javascript
中编写以下代码
if( document.getElementById('a') ){
var newVar = document.getElementById('a').innerHTML;
} else if( document.getElementById('b') ){
var newVar = document.getElementById('b').innerHTML;
}
如果你只想获取第一个当前元素的 innerHTML
属性 你可以使用 querySelector
,其中查询由每个元素的搜索查询组成以 ,
分隔
类似于:
var dom = document.querySelector("#a, #b");
if (dom instanceof HTMLElement) console.log("Found :" + dom.innerHTML);
else console.log("Not found");
示例:
var newVar = (document.querySelector("#a, #b") || {}).innerHTML;
console.log(newVar || "Not found");
<div id="a">Hello A</div>
<div id="b">Hello B</div>
var newVar = (document.querySelector("#a, #b") || {}).innerHTML;
console.log(newVar || "Not found");
<div id="a">Hello A</div>
var newVar = (document.querySelector("#a, #b") || {}).innerHTML;
console.log(newVar || "Not found");
<div id="b">Hello B</div>
var newVar = (document.querySelector("#a, #b") || {}).innerHTML;
console.log(newVar || "Not found");
这张支票不用写'document.body.contains'。只需通过 ID
获取元素
我试图根据元素是否存在于 DOM 中为 javascript 中的同一个变量分配不同的值。到目前为止我有
if(document.body.contains(document.getElementById('a'))){
var newVar = document.getElementById('a').innerHTML;
} else if(document.body.contains(document.getElementById('b'))){
var newVar = document.getElementById('b').innerHTML;
}
但是,这仅在选中的变量 'a' 存在时才有效。我知道这种方法可能有点不合常规,并且想知道是否有一种简单的方法可以做到这一点,或者它是否不可能,因为它是声明的同一个变量。
您可以在javascript
中编写以下代码if( document.getElementById('a') ){
var newVar = document.getElementById('a').innerHTML;
} else if( document.getElementById('b') ){
var newVar = document.getElementById('b').innerHTML;
}
如果你只想获取第一个当前元素的 innerHTML
属性 你可以使用 querySelector
,其中查询由每个元素的搜索查询组成以 ,
类似于:
var dom = document.querySelector("#a, #b");
if (dom instanceof HTMLElement) console.log("Found :" + dom.innerHTML);
else console.log("Not found");
示例:
var newVar = (document.querySelector("#a, #b") || {}).innerHTML;
console.log(newVar || "Not found");
<div id="a">Hello A</div>
<div id="b">Hello B</div>
var newVar = (document.querySelector("#a, #b") || {}).innerHTML;
console.log(newVar || "Not found");
<div id="a">Hello A</div>
var newVar = (document.querySelector("#a, #b") || {}).innerHTML;
console.log(newVar || "Not found");
<div id="b">Hello B</div>
var newVar = (document.querySelector("#a, #b") || {}).innerHTML;
console.log(newVar || "Not found");
这张支票不用写'document.body.contains'。只需通过 ID
获取元素