gpt4 book ai didi

javascript - 无法将元素的设置值设置为 "innerHTML"

转载 作者:行者123 更新时间:2023-11-28 04:09:08 26 4
gpt4 key购买 nike

我是 JS 新手。我在下面有一个代码示例,其中我编写了一个 JS 函数,我试图通过它在单击按钮后更改 <p> 标记的值。我的问题是为什么只设置 innerHTML 与 'getElementById()' 一起使用;但其他方法不行吗?

<!DOCTYPE html>
<html>
<head>
<script>
function myFunction() {
document.getElementById("myid").innerHTML = 'hey';
document.getElementByName("myname").innerHTML = 'Whats';
document.getElementByTagName("p").innerHTML = 'up! ';
document.querySelector("p#myid").innerHTML = 'Dude.';
}
</script>
</head>
<body>

<p id="myid" name="myname">This text will be changed after button click.</p>

<button onclick="myFunction()">Try it</button>

</body>
</html>

结果:我期待“伙计”。点击后显示。

enter image description here

最佳答案

脚本在 document.getElementByName("myname").innerHTML = 'Whats'; 行失败,因为 getElementByName 不是一个函数,当脚本试图调用它。正确的名字是getElementsByName ;元素s。同样适用于 getElementsByTagName .

此外,这两个函数都返回元素列表而不是单个元素。因此,在这里,您想使用 [0] 获取该列表中的第一个元素,然后以这种方式使用它:

document.getElementsByName("myname")[0].innerHTML = 'Whats';

使用 F12Ctrl+Shift+I(取决于浏览器)打开浏览器控制台查看错误,并查阅文档(例如来 self 链接的站点)以确保您使用的是正确的功能。

关于javascript - 无法将元素的设置值设置为 "innerHTML",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49335170/

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