(function(){document.getElementById()== null;})();

时间:2014-10-06 13:18:40

标签: javascript getelementbyid self-executing-function

为什么自执行匿名函数无法访问DOM元素。为什么这样的例子不起作用。

(function() {
    alert(document.getElementById('someElement'));
)();

为什么警报会显示" null"?

2 个答案:

答案 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事件添加一个监听器也会做同样的事情。