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));