TypeError:无法设置属性'已检查'为CheckBox的null

时间:2017-08-25 02:55:33

标签: javascript checkbox

document.getElementById("cbox0").checked = true;

我正在使用此语句自动检查复选框但我得到TypeError:无法设置属性'已检查'对于CheckBox这个错误为null。我试图使用if语句来检查它是否为null但它也给了我同样的错误。

jsp+='<input id="cbox'+index+'" type="checkbox" name="compare" value="'+rightCard.oid+'" onchange="myFunction('+index+')"><label for="cboxCard'+index+'">&nbsp;</label>';

2 个答案:

答案 0 :(得分:1)

可能存在两个问题。

  1. id没有cbox0的复选框。因此,getElementById会返回null,从而导致您的错误
  2. 在将复选框加载到DOM之前执行JavaScript。您可以通过将代码包装在DOMContentLoaded事件侦听器中来解决此问题,例如
  3. document.addEventListener("DOMContentLoaded", function() {
      document.getElementById("cbox0").checked = true;
    });
    <input id="cbox0" type="checkbox" name="compare" value="test">

    请注意,即使没有StackOverflow上的事件侦听器,上面的代码段也能正常工作。这可能是因为StackOverflow的代码片段运行它的JavaScript类似于我所写的。

答案 1 :(得分:0)

将您的代码包装在onload事件中。