Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.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 appendChild创建一个新节点_Javascript_Appendchild - Fatal编程技术网

Javascript appendChild创建一个新节点

Javascript appendChild创建一个新节点,javascript,appendchild,Javascript,Appendchild,我有这个密码: var label = document.createElement("label"); var input_element = document.createElement("input"); input_element.setAttribute("type","checkbox"); input_element.setAttribute("name",val.x_name); input_element.setAttribute("value",val.x_name);

我有这个密码:

var label = document.createElement("label");

var input_element = document.createElement("input");
input_element.setAttribute("type","checkbox");
input_element.setAttribute("name",val.x_name);
input_element.setAttribute("value",val.x_name);

label.appendChild(input_element);
label.innerHTML += val.x_display;

ta.form.appendChild(label);
ta.inputs.push(input_element);

其要点是创建一个checkbox元素,将其添加到表单中,然后将其填充到一个数组中,以便于以后的检查。问题是,当我到达这段代码的末尾时,input_元素并没有引用页面上的元素。我已经在Chrome的调试器中验证了这一点,input_元素引用的元素与label元素的子元素不同

input\u元素=label.appendChild(input\u元素)

我认为在执行
label.innerHTML+=val.x\u显示时会发生解引用因为您正在更改HTML字符串,从而导致DOM重写

试一试

label.appendChild(input_element);
label.appendChild(document.createTextNode(val.x_display));