簡體   English   中英

無法訪問DOM元素

[英]Can't access DOM element

我編寫了帶有body onload事件的Web應用程序。 我知道這不是最佳選擇,所以我想使用DOMContentLoaded觸發我的init事件。

我有一個奇怪的問題,我無法訪問DOM元素,也不知道為什么:/。

HTML:

<!DOCTYPE html>
<html>
<head>
    <title>Test</title>
    <script type="text/javascript" src="main.js"></script>
</head>
<body>
    <div id="test">Hello World</div>
</body>
</html>

JS:

// add event listener
document.addEventListener('DOMContentLoaded', init, false);

function init () {
    // pop up
    alert(document.getElementById(test).innerHTML);
}

有人看到問題了嗎?

您要將未定義的變量 test傳遞給getElementById()函數,而不是字符串'test'

所以

document.getElementById(test); // Incorrect - as an undefined varible

實際上應該是

document.getElementById('test') // Correct - as a string value

要么

var element_id = 'test';
document.getElementById(element_id) // Correct - as a defined variable

在測試周圍添加雙引號,即“ test”

document.addEventListener('DOMContentLoaded', init, false);

function init () {
    // pop up
    alert(document.getElementById("test").innerHTML);
}

如果執行了init函數,則可以在id后面加上引號:

document.getElementById(test)

變成

document.getElementById('test')

暫無
暫無

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

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