[英]Changing a div with javascript
我已經無法在javascript中執行一項看似基本的任務-通過腳本更改div的內容。 請幫助我了解我要去哪里。 這是一個對我不起作用的最小示例:
<!DOCTYPE html>
<html>
<head>
<script>
document.getElementById('id').innerHTML = "test";
</script>
</head>
<body>
<div id="id" >blub</div>
</body>
</html>
您的編碼問題是在div部分完全加載之前執行了JavaScript代碼。 要解決此更改,您可以將代碼編寫為:
<!DOCTYPE html>
<html>
<head>
<script>
function changeDiv()
{
document.getElementById('id').innerHTML = "test";
}
</script>
</head>
<body onload="changeDiv();">
<div id="id" >blub</div>
</body>
</html>
僅當html完全加載后,才會觸發onload事件。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="id" >blub</div>
<script>
document.getElementById('id').innerHTML = "test";
</script>
</body>
</html>
將您的腳本放在div之后。
HTML文件的加載從html的頂部到底部開始。
在您的示例中,javascript在<body>
標記在DOM中存在之前執行。
將javascript移動到相關html的下方,即可按預期工作。
另一個選擇是將腳本保留在<head>
內,但將其從執行到延遲到加載DOM為止
window.onload = function() {
document.getElementById('id').innerHTML = "test";
};
https://developer.mozilla.org/en/docs/Web/API/GlobalEventHandlers/onload
<!DOCTYPE html> <html> <head></head> <body> <div id="id" >blub</div> <script> document.getElementById('id').innerHTML = "test"; </script> </body> </html>
當html完全加載時,您需要使用window.onload來調用代碼:
<!DOCTYPE html> <html> <head> <script> window.onload = function() { document.getElementById('id').innerHTML = "test"; }; </script> </head> <body> <div id="id" >blub</div> </body> </html>
您的Dom尚未加載。.將您的腳本標簽放在最后
只需在關閉正文之前添加腳本標簽即可。 會的
您必須在div-Tag之后編寫Javascript。 首先需要加載DOM,然后可以在DIV中更改內容。
將您的Javascript放在閉包標記之前
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.