我正在尝试制作一个JavaScript,只是“忽略”缺少的div-id并继续运行。一直在寻找解决方案,但是大多数解决方案要么替换丢失的ID,要么将信息放入已经存在的ID中。我只希望我的脚本“正常”,因为不会找到某些ID。
var Info01 = `Some text`;
document.getElementById("Info01").innerHTML = Info01;
var Info02 = `Some other text`;
document.getElementById("Info02").innerHTML = Info02;
如果不存在div-id“ Info01”,我希望它很酷,然后执行下一行,依此类推。
我一直在尝试一些if语句,但我不足以自己解决这个问题,并且google并没有为我提供所需的解决方案。
希望有人可以提供帮助!
答案 0 :(得分:3)
尝试这样的事情:
检查具有该ID的元素是否首先存在。
var Info01 = "Some text";
if(document.getElementById("Info01")) {
document.getElementById("Info01").innerHTML = Info01;
}
var Info02 = "Some other text";
if(document.getElementById("Info02")) {
document.getElementById("Info02").innerHTML = Info02;
}
答案 1 :(得分:3)
进一步了解Zachary McGee的答案。您可以避免重复(并在DOM中获取两次ID):
const info01 = "Some text"
const info02 = "Some other text";
const setText = (id, content) => {
const item = document.getElementById(id)
if (item === null) return
item.innerText = content
}
setText("Info01", info01)
setText("Info02", info02)
<div id="Info02"></div>
我不是使用.innerText
而不是.innerHTML
,因为前者足以满足您的问题,而后者is subject to XSS则足够。