[英]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.