假设我们的 HTML 文件有以下代码:
<html>
<head>
<script src="totti.js"></script>
</head>
<body>
<span id="tim">this'll change on load</span>
</body>
</html>
因为我不知道我到底该怎么做,所以这是我想要实现的代码(例如 totti.js):
function changeText(){
document.getElementById("tim").innerHTML = "changed text";
}
changeText();
我想我们需要先将其 id 定义到一个变量中,或者在 HTML 端将其作为参数传递?帮助将不胜感激。谢谢。
最佳答案
您的代码是正确的,但是,如果您将脚本放在 head
标记内,那么脚本将在加载文档之前执行,因此它将不起作用(具有 id 的元素tim
那时还不存在)。
要解决此问题,您可以将脚本标记放在要修改的元素之后(或放在 body
标记的底部),如下所示:
<html>
<head>
</head>
<body>
<span id="tim">this'll change on load</span>
<script src="totti.js"></script>
</body>
</html>
或者您可以让该函数在文档加载后运行,如下所示:
<html>
<head>
<script src="totti.js"></script>
</head>
<body onload="changeText()">
<span id="tim">this'll change on load</span>
</body>
</html>
在这种情况下,从 totti.js 中删除 changeText()
行。
关于javascript - 外部 Javascript 文件如何影响 HTML 文件的 DOM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26074018/