簡體   English   中英

Javascript:不會更改div innerHTML

[英]Javascript: Does not change the div innerHTML

我真的不明白為什么這不起作用。 我嘗試了幾個技巧,但我只是不明白。

<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>

這是有效的,你可以在這里看到:

http://jsfiddle.net/gHbss/

將JavaScript放在HTML div容器之后是很重要的。

您面臨的問題是瀏覽器在呈現/處理頁面時遇到JavaScript。 此時它將alert()您的消息,但相關元素, #results div不存在於DOM中,因此不能更改任何內容。

要解決此問題,您可以將script放在頁面的末尾,就在結束</body>標記之前,或者在bodywindowonload事件中運行代碼。

該腳本必須放在div#results或執行onload之后,否則當您嘗試訪問該元素時,該元素仍然是未知的。

你需要在onload事件中調用這個腳本,即

 window.onload=function(){
//your code
}
<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>

希望上面的代碼段顯示修復程序

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM