XML DOM replaceChild() metode

Node objekt referationshåndbog

DefinITION OG BRUG

replaceChild() metoden kan erstatte en undernode med en anden.

Hvis erstatningen lykkes, kan denne metode returnere det erstattede knudepunkt, hvis erstatningen fejler, returneres NULL.

Syntaks:

nodeObject.replaceChild(new_node,old_node)
Parameter Beskrivelse
new_node Obligatorisk. Angiv den nye node.
old_node Obligatorisk. Angiv den node, der skal erstattes.

Ved og kommentarer

Kommentar:Internet Explorer ignorerer mellemrummelige mellemrummelige tekst knudepunkter (f.eks. linjeskiftssymbolet), mens Mozilla gør det ikke. Derfor vil vi i de næste eksempler bruge en funktion til at tjekke den første barn nodes node type.

Element knudepunktets node type er 1, så hvis den første barn node ikke er en element node, vil den flytte til den næste node og fortsætte med at tjekke om denne node er en element node. Denne proces vil fortsætte indtil den første element barn node bliver fundet. Gennem denne metode kan vi få korrekte metoder i Internet Explorer og Mozilla.

VedFor mere information om forskelle mellem IE og Mozillas XML DOM, besøg vores DOM browser kapitel.

eksempel

I alle eksemplerne vil vi bruge XML filen books.xml,og JavaScript funktionen loadXMLDoc()

Nedenstående kode fragment kan erstatte den første <book< elementets <title> element:

//tjek om den første barn node er en element node
function get_firstchild(n)
{
var x=n.firstChild;
while (x.nodeType!=1)
  {
  x=x.nextSibling;
  }
return x;
}
xmlDoc=loadXMLDoc("books.xml");
//opret et titel element og en tekst node
var newNode=xmlDoc.createElement("title");
var newText=xmlDoc.createTextNode("Giadas familie måltider");
//add the text node to the title node
newNode.appendChild(newText);
//replace the first child node with the new node
var x=xmlDoc.getElementsByTagName("book")[0];
x.replaceChild(newNode,get_firstchild(x));
//output all titles
var y=xmlDoc.getElementsByTagName("title");
for (i=0;i<y.length;i++)
  {
  document.write(y[i].childNodes[0].nodeValue);
  document.write("<br />");
  }

Uddrag:

Giadas familie måltider
Harry Potter
XQuery Kick Start
Learning XML

Node objekt referationshåndbog