javascript - 未捕获的类型错误 : Cannot set property 'checked' of null

标签 javascript

我正在 javascript Hide/show div on checkbox: checked/unchecked 使用 Javascript .

var elem = document.getElementById('powermail_fieldwrap_331'),
    checkBox = document.getElementById('powermail_field_doruovaciaadresa2_1');
checkBox.checked = false;
checkBox.onchange = function doruc() {
    elem.style.display = this.checked ? 'block' : 'none';
};
checkBox.onchange();

我更改了“checkBox.checked = false;”到“checkBox.checked = true;” 它无论如何都能工作,但会产生错误: 未捕获类型错误:无法将属性“检查”设置为 null

Demo

在这种情况下,我该如何修复这个错误?

谢谢。

最佳答案

fiddle 工作正常。唯一的问题可能是脚本在复选框成为 DOM 的一部分之前执行。

将代码包装在 onload 事件中。

window.onload = function() {
    var elem = document.getElementById('powermail_fieldwrap_331'),
    checkBox = document.getElementById('powermail_field_doruovaciaadresa2_1');
    checkBox.checked = false;
    checkBox.onchange = function doruc() {
        elem.style.display = this.checked ? 'block' : 'none';
    };
    checkBox.onchange();
};

或者确保脚本标记写在复选框是 DOM 的一部分之后:

<label>
    <input type="checkbox" id="powermail_field_doruovaciaadresa2_1" checked="checked" />
    Show/hide
</label>
<div id="powermail_fieldwrap_331">Lorem ipsum</div>

<script>
var elem = document.getElementById('powermail_fieldwrap_331'),
    checkBox = document.getElementById('powermail_field_doruovaciaadresa2_1');
    checkBox.checked = true;
    checkBox.onchange = function() {
        elem.style.display = this.checked ? 'block' : 'none';
    };
    checkBox.onchange();
</script>

关于javascript - 未捕获的类型错误 : Cannot set property 'checked' of null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31634528/

相关文章:

javascript - Express上传的文件存放在系统中除项目公共(public)文件夹之外的任意路径

javascript - 确保导入的 JavaScript 文件在切换路由后仍能正常工作

javascript - 具有 2 种模式的 html 输入模式

javascript - 重构仅根据条件和返回值进行区分的 JavaScript 函数

javascript - Polymer - 使用计算绑定(bind)的多个 Accordion

javascript - 使用 Parse Code Cloud Javascript 函数更改 Parse 列的值

javascript - 根据媒体查询有条件地显示内容

javascript - 为什么这个扩展不起作用?

javascript - chalice 的 <r :script> tag as compared to <g:javascript>

javascript - 验证整个字符串并获取所有匹配项