Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript未捕获类型错误:checkbox.setAttributeNode不是函数_Javascript_Html_Json_Getelementsbyname - Fatal编程技术网

Javascript未捕获类型错误:checkbox.setAttributeNode不是函数

Javascript未捕获类型错误:checkbox.setAttributeNode不是函数,javascript,html,json,getelementsbyname,Javascript,Html,Json,Getelementsbyname,我有一个错误,我不知道如何解决它,请帮助:) 守则: var ls_contextid1=JSON.parse(localStorage.getItem('completedArray')) || []; for (var i = 0; i < ls_contextid1.length; i++){ var obj = ls_contextid1[i]; for (var key in obj){ var value = ob

我有一个错误,我不知道如何解决它,请帮助:) 守则:

var ls_contextid1=JSON.parse(localStorage.getItem('completedArray')) || [];
      for (var i = 0; i < ls_contextid1.length; i++){
        var obj = ls_contextid1[i];
        for (var key in obj){
          var value = obj[key];
          var checkbox=document.getElementsByName(value);
          doc[i] =value;

          var att = document.createAttribute('checked');      
          att.value = 'checked';   

        checkbox.setAttributeNode(att);

        }
      }
本地存储包含json:

[{"contextid":"470"},{"contextid":"468"},{"contextid":"467"},{"contextid":"463"},{"contextid":"463"},{"contextid":"464"}]
以及HTML代码:

<input name="470" type="checkbox" disabled="disabled" style="margin-left:50px;">

你能帮我吗

返回文档中具有给定名称的节点列表集合。所以您应该访问第一个元素,方法是

checkbox[0].setAttributeNode(att);

getElementsByName
返回集合,因此需要使用
复选框[0].setAttributeNode(att)。我还建议您在设置属性之前检查元素的现有状态。

document.getElementsByName(值)返回节点列表,而不仅仅是单个节点。您应该在列表上循环,并在列表中的每个节点上使用
setAttributeNode()

checkbox[0].setAttributeNode(att);