XML DOM nextSibling property
Definition and Usage
nextSibling
The property returns the node that follows a certain node (the next node at the same tree level).
If no such node exists, this property returns null.
Syntax
nodeObject.nextSibling
Note:Firefox and most other browsers treat whitespace or new lines as text nodes, while Internet Explorer does not. Therefore, in the following example, we use a function to check the node type of the next sibling node.
Element nodes have a nodeType of 1, so if the next sibling node is not an element node, it moves to the next node and checks whether the node is an element node. This continues until the next sibling node (which must be an element node) is found. As a result, the result is correct in all browsers.
Tips:För mer information om skillnader mellan webbläsare, besök kapitlet DOM-webbläsare i XML DOM-tutorials.
Exempel
Exempel 1
Följande kod laddar "books.xml" till xmlDoc och hämtar nästa jämlik nod från den första <title>-elementen:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); {} }; xhttp.open("GET", "books.xml", true); xhttp.send(); // Kontrollera om nästa jämlik nod är en elementnod 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>Nästa jämlik: " + y.nodeName + " = " + y.childNodes[0].nodeValue; {}
Exempel 2
Hämta föregående jämlik nod till noden:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); {} }; xhttp.open("GET", "books.xml", true); xhttp.send(); // Kontrollera om den föregående jämlik noden är en elementnod 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>Föregående syskon: " + y.nodeName + " = " + y.childNodes[0].nodeValue; {}