我真的不明白为什么这不起作用。我尝试了几个技巧,但我只是不明白。
<html>
<head>
<script type="text/javascript">
alert('Hey');
var vText = document.getElementById("results");
vText.innerHTML = 'Changed';
alert(vText.innerHTML);
</script>
</head>
<body>
<div id="results">
hey there
</div>
</body>
</html>
答案 0 :(得分:12)
答案 1 :(得分:4)
您面临的问题是浏览器在呈现/处理页面时遇到JavaScript。此时它将alert()
您的消息,但相关元素#results
div
在DOM中不存在,因此无法更改任何内容。
要解决此问题,您可以将script
放在页面末尾,就在结束</body>
标记之前,或者在onload
事件的body
事件中运行代码{1}}或window
。
答案 2 :(得分:1)
脚本必须放在div#results或执行onload之后,否则当你尝试访问它时,该元素仍然是未知的。
答案 3 :(得分:1)
您需要在onload事件中调用此脚本 即
window.onload=function(){
//your code
}
答案 4 :(得分:1)
<html>
<head>
<script type="text/javascript">
function onloadCall()
{
alert('Hey');
var vText = document.getElementById("results");
vText.innerHTML = 'Changed';
alert(vText.innerHTML);
}
</script>
</head>
<body onload="onloadCall()">
<div id="results">
hey there
</div>
</body>
</html>
希望上面的代码段显示修复