为什么自执行匿名函数无法访问DOM元素。为什么这样的例子不起作用。
(function() {
alert(document.getElementById('someElement'));
)();
为什么警报会显示" null"?
答案 0 :(得分:1)
只需在DOM load上执行它。您也可以使用脚本延迟属性。
(function() {
window.addEventListener("load", function() {
alert(document.getElementById('someElement'));
}, false);
})();
答案 1 :(得分:0)
你错过了你的大括号}
。
应该是
(function() {
alert(document.getElementById('someElement'));
})();
这将立即执行,因此需要将其放置在适当的位置以确保DOM已加载。确保在HTML文件末尾加载此脚本,或者包含Georgi Naumov建议的检查,向window.load事件添加一个监听器也会做同样的事情。