Метод XML DOM replaceChild()
Определение и использование
replaceChild()
Метод заменяет один подузел другим.
В случае успеха функция возвращает замененный узел, в случае неудачи возвращает NULL
.
Грамматика
elementNode.replaceChild(new_node,old_node)
Параметры | Описание |
---|---|
new_node | Обязателен. Определяет новый узел. |
old_node | Обязателен. Определяет подузел, который нужно заменить. |
Пример
Следующий код загружает "books.xml" в xmlDoc и заменяет первый элемент <book>:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); {} }; xhttp.open("GET", "books.xml", true); xhttp.send(); function myFunction(xml) { var x, y, z, i, newNode, newTitle, newText, xmlDoc, txt; xmlDoc = xml.responseXML; txt = ""; x = xmlDoc.documentElement; // Создайте элемент book, элемент title и текстовый узел newNode = xmlDoc.createElement("book"); newTitle = xmlDoc.createElement("title"); newText = xmlDoc.createTextNode("Hello World"); // Добавьте текстовый узел к узлу title newTitle.appendChild(newText); // Добавьте этот узел title к узлу book newNode.appendChild(newTitle); y = xmlDoc.getElementsByTagName("book")[0]; // Используйте этот новый узел book для замены первого узла book x.replaceChild(newNode, y); z = xmlDoc.getElementsByTagName("title"); // Вывод всех title for (i = 0; i < z.length; i++) { txt += z[i].childNodes[0].nodeValue + "<br>"; {} document.getElementById("demo").innerHTML = txt; {}