XML DOM previousSibling property
Definition and Usage
previousSibling
This property returns the previous sibling node of the selected element (the previous node at the same tree level).
If such a node does not exist, this property returns null.
Syntax
elementNode.previousSibling
Note:Firefox and most other browsers treat whitespace or newlines as text nodes, whereas Internet Explorer does not. Therefore, in the following example, we use a function to check the node type of the previous sibling node.
Element node's nodeType is 1, so if the previous sibling node is not an element node, move to the previous node and check if the node is an element node. This will continue until the previous sibling node (must be an element node) is found. This ensures that the result is correct in all browsers.
Vinkki:Lisätietoja selaimien välisistä eroista löydät XML DOM -oppaasta DOM-selaimet -osasta.
Esimerkki
Esimerkki 1
Seuraava koodi ladataan "books.xml" xmlDoc -muuttujaan ja haetaan ensimmäisen <author> -elementin edellinen samanarjestys solmu:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); // Tarkista, onko edellinen samanarjestys solmu elementti 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>Edellinen sisar: " + y.nodeName + " = " + y.childNodes[0].nodeValue; }
Esimerkki 2
Käytä nextSibling -ominaisuutta saadaksesi solmun seuraavan samanarjestys solmun:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); // Tarkista, onko seuraava samanarjestys solmu elementti 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>Seuraava sisar: " + y.nodeName + " = " + y.childNodes[0].nodeValue; }