如何在javascript中向元素添加子节点

如何在javascript中向元素添加子节点,javascript,dom,parent-child,child-nodes,Javascript,Dom,Parent Child,Child Nodes,我设法将输入(登录的文本字段)childNode添加到标签(登录) 让wrapper=document.getElementById(“动态字段”); var label1=document.createElement(“标签”); 标签1.appendChild(document.createTextNode(“登录”); 包装器。附件(标签1); linebreak=document.createElement(“br”); 标签1.追加子项(换行符); var input1=docume

我设法将输入(登录的文本字段)childNode添加到标签(登录)


让wrapper=document.getElementById(“动态字段”);
var label1=document.createElement(“标签”);
标签1.appendChild(document.createTextNode(“登录”);
包装器。附件(标签1);
linebreak=document.createElement(“br”);
标签1.追加子项(换行符);
var input1=document.createElement(“输入”);
label1.insertBefore(input1,label1.children[1]).style.width=“94%”;
现在,我想在该输入中添加一个标签(password)的childNode,并在该标签中添加另一个用于password字段的childNote

下面是我的尝试

<script>
  var label2 = document.createElement("label");
  label2.appendChild(document.createTextNode("password"));

  line_break.insertBefore(label2, line_break.children[1]).style.width = "94%";
  var input2 = document.createElement("input");

  label2.insertBefore(input2, label2.children[1]).style.width = "94%";
</script>

var label2=document.createElement(“标签”);
label2.appendChild(document.createTextNode(“密码”);
line_break.insertBefore(label2,line_break.children[1]).style.width=“94%”;
var input2=document.createElement(“输入”);
label2.insertBefore(input2,label2.children[1]).style.width=“94%”;

您不能将子元素添加到BR元素-只能添加到其父元素。这样做,将自动使其成为最后一个子项,除非您特别选择其他子项。

您应该对插入到文档(或任何节点)的内容重新排序。很难读取插入的内容和未插入的内容。自动关闭标签(如
)中不能包含内容。此外,还可以查看CSS以满足您的所有布局需求。那么你可能不再需要
标签了。好吧@Shilly我编辑了我的帖子。我想将child添加到第一个inputI中,我严重怀疑这一点(我认为这也是非法语法)——我认为您想添加一个同级,这几乎与您已经使用的方法完全相同,只需复制现有代码的前两行即可。
<script>
  var label2 = document.createElement("label");
  label2.appendChild(document.createTextNode("password"));

  line_break.insertBefore(label2, line_break.children[1]).style.width = "94%";
  var input2 = document.createElement("input");

  label2.insertBefore(input2, label2.children[1]).style.width = "94%";
</script>