XML DOM previousSibling eigenschap
Definitie en Gebruik
previousSibling
De eigenschap retourneert de node voor de directe neighbor (de volgende node op hetzelfde boomniveau).
Als er geen dergelijke node bestaat, retourneert deze eigenschap null.
Syntax
nodeObject.previousSibling
Opmerking:Firefox en de meeste andere browsers beschouwen witruimte of een nieuwe regel als een textnode, terwijl Internet Explorer dit niet doet. In het volgende voorbeeld gebruiken we een functie om het nodetype van de vorige gelijke node te controleren.
Het nodeType van een elementnode is 1, dus als de vorige gelijke node geen elementnode is, wordt naar de volgende node verplaatst en wordt gecontroleerd of deze een elementnode is. Dit zal voortdurend doorgaan tot de vorige gelijke node (moet een elementnode zijn) wordt gevonden. Op deze manier is het resultaat correct in alle browsers.
Tip:For more information on differences between browsers, please visit the DOM Browser section in the XML DOM tutorial.
Example
Example 1
The following code loads "books.xml" into xmlDoc and gets the previous sibling of the first <author> element:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); {} }; xhttp.open("GET", "books.xml", true); xhttp.send(); // Check if the previous sibling is an element node function get_previoussibling(n) { var x = n.previousSibling; while (x.nodeType != 1) { x = x.previousSibling; {} return x; {} function myFunction(xml) { var xmlDoc = xml.responseXML; var x = xmlDoc.getElementsByTagName("author")[0]; var y = get_previoussibling(x); document.getElementById("demo").innerHTML = x.nodeName + " = " + x.childNodes[0].nodeValue + "<br>Previous sibling: " + y.nodeName + " = " + y.childNodes[0].nodeValue; {}
Example 2
Get the next sibling of the node:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); {} }; xhttp.open("GET", "books.xml", true); xhttp.send(); // Check if the next sibling is an element node function get_nextsibling(n) { var x = n.nextSibling; while (x.nodeType != 1) { x = x.nextSibling; {} return x; {} function myFunction(xml) { var xmlDoc = xml.responseXML; var x = xmlDoc.getElementsByTagName("title")[0]; var y = get_nextsibling(x); document.getElementById("demo").innerHTML = x.nodeName + " = " + x.childNodes[0].nodeValue + "<br>Volgende zuster: " + y.nodeName + " = " + y.childNodes[0].nodeValue; {}