Javascript getElementById,如果为null则跳过
当它返回null时,它不会运行下一个getElementById。构建此结构的最佳方式是什么?将有12个可能的getElementById,但一个页面可能只有2-4个Javascript getElementById,如果为null则跳过,javascript,getelementbyid,Javascript,Getelementbyid,当它返回null时,它不会运行下一个getElementById。构建此结构的最佳方式是什么?将有12个可能的getElementById,但一个页面可能只有2-4个 document.getElementById(“RouteVoName”).textContent=“Tim”; document.getElementById(“routeThreeName”).textContent=“David”; document.getElementById(“RouteForName”).text
document.getElementById(“RouteVoName”).textContent=“Tim”;
document.getElementById(“routeThreeName”).textContent=“David”;
document.getElementById(“RouteForName”).textContent=“Ricky”;
document.getElementById(“routeTenName”).textContent=“Ric”代码>
名称
名称
通常,当您有这种重复逻辑时,您将逻辑封装在函数中:
function setText(id, text) {
var element = document.getElementById(id);
if (element) {
element.textContent = text;
}
return element;
}
然后你可以这样做:
setText("routeTwoName", "Tim");
setText("routeThreeName", "David");
setText("routeFourName", "Ricky");
setText("routeTenName", "Ric");
以下是问题片段的更新版本:
函数setText(id,text){
var元素=document.getElementById(id);
if(元素){
element.textContent=文本;
}
返回元素;
}
setText(“路由器名称”、“Tim”);
setText(“routeThreeName”、“David”);
setText(“RouteForName”、“Ricky”);
setText(“路由名称”、“Ric”)代码>
名称
名称
通常,当您有这种重复逻辑时,您将逻辑封装在函数中:
function setText(id, text) {
var element = document.getElementById(id);
if (element) {
element.textContent = text;
}
return element;
}
然后你可以这样做:
setText("routeTwoName", "Tim");
setText("routeThreeName", "David");
setText("routeFourName", "Ricky");
setText("routeTenName", "Ric");
以下是问题片段的更新版本:
函数setText(id,text){
var元素=document.getElementById(id);
if(元素){
element.textContent=文本;
}
返回元素;
}
setText(“路由器名称”、“Tim”);
setText(“routeThreeName”、“David”);
setText(“RouteForName”、“Ricky”);
setText(“路由名称”、“Ric”)代码>
名称
名称
所以设置一个变量,看看它是否存在
var x = document.getElementById("foo");
if (x) {
x.textContent = "bar"
}
所以设置一个变量,看看它是否存在
var x = document.getElementById("foo");
if (x) {
x.textContent = "bar"
}
代码在标题中:DSo您的实际问题是什么。目前还不清楚。我不知道你想对问题中的标记做什么,我删除了它,这样它至少会在第一次使用stackoverflow时显示你的文本抱歉。script.js文件有四个getElementById。当它运行时,它将加载RouteToName而不是RouteTenneName,因为routeThreeName和RouteForName为空。选择和运行正确元素的最佳方法是什么?@Donnie-FWIW,我用一个可运行的代码片段替换了您的代码块。如果可以的话,这会让人们很容易看到问题,并告诉你如何解决它。如果您愿意,下面是下一次如何做的:代码在标题中:DSo您的实际问题是什么。目前还不清楚。我不知道你想对问题中的标记做什么,我删除了它,这样它至少会在第一次使用stackoverflow时显示你的文本抱歉。script.js文件有四个getElementById。当它运行时,它将加载RouteToName而不是RouteTenneName,因为routeThreeName和RouteForName为空。选择和运行正确元素的最佳方法是什么?@Donnie-FWIW,我用一个可运行的代码片段替换了您的代码块。如果可以的话,这会让人们很容易看到问题,并告诉你如何解决它。如果你想的话,下面告诉你下一次该怎么做:谢谢!我尝试了一个if语句,但没有得到正确的逻辑。这很有帮助,谢谢!我尝试了一个if语句,但没有得到正确的逻辑。这很有帮助。