Javascript-problem with.append方法
我对.append方法有一个问题。 我有一个XML,我想在每个“locale”节点中添加一个节点。 这是我的代码:Javascript-problem with.append方法,javascript,xml,Javascript,Xml,我对.append方法有一个问题。 我有一个XML,我想在每个“locale”节点中添加一个节点。 这是我的代码: x = xmlDoc.getElementsByTagName("locale") newElement = xmlDoc.createElement("version_whats_new"); x[0].append(newElement) console.log(xmlDoc.getElementsByTagName("loca
x = xmlDoc.getElementsByTagName("locale")
newElement = xmlDoc.createElement("version_whats_new");
x[0].append(newElement)
console.log(xmlDoc.getElementsByTagName("locale")[0])
x[1].append(newElement)
console.log(xmlDoc.getElementsByTagName("locale")[1])
x[2].append(newElement)
console.log(xmlDoc.getElementsByTagName("locale")[2])
x[3].append(newElement)
console.log(xmlDoc.getElementsByTagName("locale")[3])
(我知道我可以使用循环,但这只是为了更好地理解)
在这些行之后,“version_whats_new”节点出现在节点“locale”[3]中,但不在其他节点中
让我们想象我的代码变成:
x = xmlDoc.getElementsByTagName("locale")
newElement = xmlDoc.createElement("version_whats_new");
x[0].append(newElement)
console.log(xmlDoc.getElementsByTagName("locale")[0])
x[1].append(newElement)
console.log(xmlDoc.getElementsByTagName("locale")[1])
x[2].append(newElement)
“version\u whats\u new”节点将出现在节点“locale”[1]中,但不在[0]中
我在几个小时内一直在寻找解决方案,但没有成功…:(
谢谢一个元素不能同时存在于多个位置。因此,如果它已经是文档的一部分,而您将其附加到其他位置,则必须将其从以前所在的位置删除
您需要多次调用
createElement
(或使用cloneNode
)因此,您每次都可以附加不同的元素。您不需要再克隆三次新元素节点吗?每次使用“附加”时,您都会从最初附加到的对象中删除该对象。因此,它最终会出现在您最后放置它的位置。