我想使用命令innerHTML
来更改HTML代码的文本。如果我将它放在HTML文件中,它就可以工作,但如果我放入外部文件,则无效。
有效的那个:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p id="Monkey">Monkey</p>
<script>
document.querySelector("#Monkey").innerHTML="NoMoreMonkeys";
</script>
</body>
</html
输出:NoMoreMonkeys
没有:
<!DOCTYPE html>
<html>
<head>
<script src="hello.js"></script>
</head>
<body>
<p id="Monkey">Monkey</p>
</body>
</html>
文件&#34; hello.js&#34; :
document.querySelector("#Monkey").innerHTML="NoMoreMonkeys";
输出:猴子
有人可以帮助我吗?
答案 0 :(得分:0)
你应该在身体结束前加入js,
因为如果js在DOM准备好之前运行,#Monkey
就不存在了。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p id="Monkey">Monkey</p>
<script src="hello.js"></script>
</body>
</html>
或准备好jquery
文件:
$(document).ready(function() {
document.querySelector("#Monkey").innerHTML="NoMoreMonkeys";
});
答案 1 :(得分:0)
解决方案是在安全的情况下操纵页面。 为此,当文档准备就绪时,将jQuery添加到您的页面并让您的JS代码执行。
$( document ).ready(function() {
document.querySelector("#Monkey").innerHTML="NoMoreMonkeys";
});
或者用jQuery选择元素:
$( document ).ready(function() {
$( "#Monkey" ).html("NoMoreMonkeys");
});