Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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-problem with.append方法_Javascript_Xml - Fatal编程技术网

Javascript-problem with.append方法

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

我对.append方法有一个问题。 我有一个XML,我想在每个“locale”节点中添加一个节点。 这是我的代码:

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
)因此,您每次都可以附加不同的元素。

您不需要再克隆三次
新元素节点吗?每次使用“附加”时,您都会从最初附加到的对象中删除该对象。因此,它最终会出现在您最后放置它的位置。