gpt4 book ai didi

javascript - 在 HTML/JavaScript 中,如何在不覆盖任何其他内容的情况下动态设置标题/段落元素的文本?

转载 作者:搜寻专家 更新时间:2023-10-31 22:00:42 25 4
gpt4 key购买 nike

当您搜索如何动​​态设置段落或标题元素的文本时,您会不断遇到几乎相同的代码行:

document.getElementById("header").innerHTML = "some text";

但这并不完全正确。举个例子:

<html>
<head />
<body>
<h1 id="header" />
<p id="p1" />
<script type="text/javascript">
document.getElementById("header").innerHTML = "header";
document.getElementById("p1").innerHTML = "p1";
</script>
</body>
</html>

第一行 JavaScript 几乎从页面中删除了 p1,即使 p1header 在原始 HTML。在 try...catch block 中包装第二个 JavaScript 行时,捕获的错误是:

document.getElementById(...) is null

当您使用 textContent 而不是 innerHTML 时,同样的问题也存在。令我有点惊讶的是,每个人都在说这就是您应该如何更改元素的文本,而当它确实不适合该目的时。设置它的正确方法是什么?

最佳答案

ph1 不是“空元素”,这意味着它们不会在打开它们的同一个标签中关闭(如 imgbr)。如果你这样写,它们就不是有效的标签,浏览器会忽略它们(这就是 document.getElementById 找不到它们的原因)。试试这个:

<html>
<head></head>
<body>
<h1 id="header"></h1>
<p id="p1"></p>
<script type="text/javascript">
document.getElementById("header").innerHTML = "header";
document.getElementById("p1").innerHTML = "p1";
</script>
</body>
</html>

关于javascript - 在 HTML/JavaScript 中,如何在不覆盖任何其他内容的情况下动态设置标题/段落元素的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23986372/

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