Javascript 无法在另一个节点之前和之后插入节点
我正在尝试在现有节点之前和之后插入一个节点。 问题是,它只会插入其中一个。古怪的有人能解释为什么吗 这是密码Javascript 无法在另一个节点之前和之后插入节点,javascript,dom,Javascript,Dom,我正在尝试在现有节点之前和之后插入一个节点。 问题是,它只会插入其中一个。古怪的有人能解释为什么吗 这是密码 // create your new node <p>Hi</p> var newNode = document.createElement("p"); newNode.appendChild(document.createTextNode("Hi")); // a existing node for reference var refNode = docu
// create your new node <p>Hi</p>
var newNode = document.createElement("p");
newNode.appendChild(document.createTextNode("Hi"));
// a existing node for reference
var refNode = document.getElementById("xyz");
// insert newNode before refNode
refNode.parentNode.insertBefore(newNode, refNode);
// insert newNode after refNode
refNode.parentNode.insertBefore(newNode, refNode.nextSibling);
//创建新节点Hi
var newNode=document.createElement(“p”);
appendChild(document.createTextNode(“Hi”));
//用于引用的现有节点
var refNode=document.getElementById(“xyz”);
//在refNode之前插入newNode
refNode.parentNode.insertBefore(newNode,refNode);
//在refNode之后插入newNode
refNode.parentNode.insertBefore(newNode,refNode.nextSibling);
PS感谢谁回答了我的问题。只有一个
新节点
。插入不会克隆它,而是移动它。只有一个新节点。插入并不是克隆它,而是移动它。将节点添加到文档时,它必须从以前的任何位置删除。同一节点不能位于两个位置
您需要的是位于第二个位置的节点副本:
// create your new node <p>Hi</p>
var newNode = document.createElement("p");
newNode.innerHTML = "Hi";
// a existing node for reference
var refNode = document.getElementById("xyz");
// insert newNode before refNode
refNode.parentNode.insertBefore(newNode, refNode);
// insert newNode after refNode
refNode.parentNode.insertBefore(newNode.cloneNode(true), refNode.nextSibling);
//创建新节点Hi
var newNode=document.createElement(“p”);
newNode.innerHTML=“Hi”;
//用于引用的现有节点
var refNode=document.getElementById(“xyz”);
//在refNode之前插入newNode
refNode.parentNode.insertBefore(newNode,refNode);
//在refNode之后插入newNode
refNode.parentNode.insertBefore(newNode.cloneNode(true),refNode.nextSibling);
将节点添加到文档时,必须将其从以前的任何位置删除。同一节点不能位于两个位置
您需要的是位于第二个位置的节点副本:
// create your new node <p>Hi</p>
var newNode = document.createElement("p");
newNode.innerHTML = "Hi";
// a existing node for reference
var refNode = document.getElementById("xyz");
// insert newNode before refNode
refNode.parentNode.insertBefore(newNode, refNode);
// insert newNode after refNode
refNode.parentNode.insertBefore(newNode.cloneNode(true), refNode.nextSibling);
//创建新节点Hi
var newNode=document.createElement(“p”);
newNode.innerHTML=“Hi”;
//用于引用的现有节点
var refNode=document.getElementById(“xyz”);
//在refNode之前插入newNode
refNode.parentNode.insertBefore(newNode,refNode);
//在refNode之后插入newNode
refNode.parentNode.insertBefore(newNode.cloneNode(true),refNode.nextSibling);
这是我在网站上的参考资料,这是。这是我在网站上的参考资料,这是。