当前位置:  开发笔记 > 编程语言 > 正文

Javascript:var为null

如何解决《Javascript:var为null》经验,为你挑选了1个好方法。

我有这个Javascript,它只是无法正常工作.我已经检查了JSlint但是说一切都有效.仍然无法正常工作.javascript不在HTML中,但链接在

注意:我正在使用本地服务器,所以即时页面加载.

function changeVisibility() {
    var a = document.getElementById('invisible');
    a.style.display = 'block';
}

var changed = document.getElementById('click1');
changed.onchange = changeVisibility;

这是相应的HTML



那么我会点击输入,选择一个文件并批准.然后onchange事件触发器和我的不可见div的样式设置为阻止.

问题是,我一直收到这个错误:

"changed is null:changed.onchange = changeVisibility;"

我不明白,我真的没有得到我在这里俯瞰的东西.


编辑:问题回答,谢谢你Mercutio的帮助和其他人当然.最终代码:

function loadEvents() {
    var changed = document.getElementById('click1');
    var a = document.getElementById('invisible');
    document.getElementById('addField').onclick = addFileInput;

    changed.onchange = function() {
        a.style.display = 'block';
    }
}
if (document.getElementById) window.onload = loadEvents;

这是相应的HTML:



另外,感谢JSbin的链接,不知道,看起来很漂亮.



1> mercutio..:

这听起来好像在引用它时DOM对象不存在.也许在文档完全加载后将代码更改为执行(或将javascript放在页面底部)

注意:我正在使用本地服务器,所以即时页面加载.

这不是问题 - 文档的组成部分按顺序加载.加载它们的速度并不重要,有些事情发生在别人面前:D

我现在唯一想做的就是从...中删除Javascript链接

在那里放置一个id,在你的函数内部执行以下操作:

document.getElementById('addField').onclick = addFileInput;

或者,因为您已经将div作为变量'a':

a.firstChild.onclick = addFileInput;

但这显然会给你一个无效的锚标记.最佳实践建议您应该提供一种不使用javascript的方法,并使用javascript方法覆盖该功能(如果可用).

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有