gpt4 book ai didi

javascript - getElementById 并在 null 时跳过

转载 作者:行者123 更新时间:2023-12-01 01:55:48 25 4
gpt4 key购买 nike

当它返回 null 时,它不会运行下一个 getElementById。构建这个结构的最佳方法是什么?可能有 12 个 getElementById,但一个页面可能只有 2 - 4 个

document.getElementById("routeTwoName").textContent = "Tim";
document.getElementById("routeThreeName").textContent = "David";
document.getElementById("routeFourName").textContent = "Ricky";
document.getElementById("routeTenName").textContent = "Ric";
<div class="panel-body">
<h4><span id="routeTwoName">Name</span></h4>
</div>

<div class="panel-body">
<h4><span id="routeTenName">Name</span></h4>
</div>

最佳答案

一般来说,当你有这种重复的逻辑时,你可以将逻辑封装在一个函数中:

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");

这是问题片段的更新版本:

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");
<div class="panel-body">
<h4><span id="routeTwoName">Name</span></h4>
</div>

<div class="panel-body">
<h4><span id="routeTenName">Name</span></h4>
</div>

另一个选择是给自己一堆基于集合的 DOM 操作函数(比如 jQuery 的 API,但不使用 jQuery [当然,除非你愿意;它已经编写并测试过了])而不是像 DOM 那样基于元素的。 My answer here有一个沿着这条路开始的例子。

关于javascript - getElementById 并在 null 时跳过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51048445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com