XML DOM slette knudepunkt
- Forrige side DOM ændring af node
- Næste side DOM erstatning af node
removeChild() 方法删除指定节点。
removeAttribute() 方法删除指定属性。
实例
下面的例子使用 XML 文件 books.xml。
函数 loadXMLDoc(),位于外部 JavaScript 中,用于加载 XML 文件。
- 删除元素节点
- 本例使用 removeChild() 来删除第一个 <book> 元素。
- 删除当前元素节点
- 本例使用 parentNode 和 removeChild() 来删除当前的 <book> 元素。
- Fjern tekstnode
- 本例使用 removeChild() 来删除第一个 <title> 元素的文本节点。
- 清空文本节点的文本
- 本例使用 nodeValue() 属性来清空第一个 <title> 元素的文本节点。
- 根据名称删除属性
- 本例使用 removeAttribute() 从第一个 <book> 元素中删除 "category" 属性。
- 根据对象删除属性
- 本例使用 removeAttributeNode() 删除 <book> 元素中的所有属性。
删除元素节点
removeChild() 方法删除指定的节点。
当一个节点被删除时,其所有子节点也会被删除。
下面的代码片段将从载入的 xml 中删除第一个 <book> 元素:
xmlDoc=loadXMLDoc("books.xml"); y=xmlDoc.getElementsByTagName("book")[0]; xmlDoc.documentElement.removeChild(y);
Eksempel forklaring:
- Ved brug af loadXMLDoc() Brug "books.xml" Indlæs i xmlDoc"
- Sæt variablen y til det elementnode, der skal fjernes
- Brug removeChild() metoden til at fjerne et elementnode fra forældrenode
Fjern selv - fjern den aktuelle node
removeChild() metoden er den eneste metode, der kan fjerne en specifik node.
Når du har lokaliseret den node, der skal fjernes, kan du bruge parentNode-egenskaben og removeChild() metoden til at fjerne denne node:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0]; x.parentNode.removeChild(x);
Eksempel forklaring:
- Ved brug af loadXMLDoc() Brug "books.xml" Indlæs i xmlDoc"
- Sæt variablen y til det elementnode, der skal fjernes
- Brug parentNode-egenskaben og removeChild() metoden til at fjerne dette elementnode
Fjern tekstnode
removeChild() metoden kan bruges til at fjerne tekstnoder:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0]; y=x.childNodes[0]; x.removeChild(y);
Eksempel forklaring:
- Ved brug af loadXMLDoc() Brug "books.xml" Indlæs i xmlDoc"
- Sæt variablen x til den første title-elementnode
- Sæt variablen y til den tekstnode, der skal fjernes
- Brug removeChild() metoden til at fjerne en node fra forældrenode
Ikke så ofte brug removeChild() til at fjerne tekst fra en node. Du kan bruge nodeValue-egenskaben i stedet. Se næste afsnit.
Tøm tekstnode
nodeValue-egenskaben kan bruges til at ændre eller tømme værdien af en tekstnode:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="";
Eksempel forklaring:
- Ved brug af loadXMLDoc() Brug "books.xml" Indlæs i xmlDoc"
- Sæt variablen x til tekstnoden for den første title-element
- Brug nodeValue-egenskaben til at tømme tekstnoders tekst
Gennemløb og ændr alle <title>-elements tekstnoder: TIY
Slette egenskabsnoder baseret på navn
removeAttribute(name) metoden bruges til at slette egenskabsnoder baseret på navn.
Eksempel: removeAttribute('category')
Følgende kodeuddrag sletter "category"-egenskaben fra den første <book>-element
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book"); x[0].removeAttribute("category");
Eksempel forklaring:
- Ved brug af loadXMLDoc() Brug "books.xml" Indlæs i xmlDoc"
- Brug getElementsByTagName() til at få book-noder
- Fjern "category"-egenskaben fra den første book-elementnode
Gennemgå og slet alle <book>-elementers "category"-egenskab: TIY.
Slet egenskabsnoden baseret på objekt
removeAttributeNode(node) metoden bruger et Node-objekt som parameter for at slette egenskabsnoden.
Eksempel: removeAttributeNode(x)
Følgende kodeudsnit sletter alle <book>-elementers egenskaber:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book"); for (i=0; i<x.length; i++) { mens (x[i].attributes.length>0) { attnode=x[i].attributes[0]; old_att=x[i].removeAttributeNode(attnode); } }
Eksempel forklaring:
- Ved brug af loadXMLDoc() Brug "books.xml" Indlæs i xmlDoc"
- Brug getElementsByTagName() til at få alle book-noder
- Kontroller hver book-element for om det har en egenskab
- Hvis der findes en egenskab i en book-element, skal denne egenskab slettes
- Forrige side DOM ændring af node
- Næste side DOM erstatning af node