-1

bodyonloadイベントを使用して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);
}

誰かが問題を見ていますか?

4

3 に答える 3

3

文字列値の代わりに、未定義の変数 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
于 2013-03-03T14:22:20.620 に答える
2

テスト、つまり「テスト」の前後に二重引用符を追加します

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

function init () {
    // pop up
    alert(document.getElementById("test").innerHTML);
}
于 2013-03-03T14:22:28.077 に答える
2

init関数が実行される場合は、IDの周りに引用符を追加できます。

document.getElementById(test)

になります

document.getElementById('test')
于 2013-03-03T14:26:55.193 に答える