Я хочу удалить узел с определенным атрибутом имени, указанным пользователем. Что я делаю не так? Давайте сидим, пользователь вводит: «cat» и всякий раз, когда система находит животное с атрибутом cat, оно удаляет его. У узлов животных нет детей.XML-удаление узла по значению атрибута JavaScript
Это упрощение XML-файла
<animals>
<animal name="elephant"></animal>
<animal name="cat"></animal>
...
</animals>
Это мой код для удаления конкретного узла из XML-файла.
function delete() {
xmlDoc = loadXMLDoc("file.xml");
root = xmlDoc.getElementsByTagName("animal");
for (i = 0; i < root.length; i++) {
if (root[i].nodeType == 1) {
if (root[i].attributes[0].value == document.getElementById("del").value) {
xmlDoc.removeChild(root[i]);
display(); // function displaying the results
}
}
}
}
Локальные переменные в вашей функции должны быть объявлены с помощью 'var'. – Pointy