XML DOM previousSibling ominaisuus
Määrittely ja käyttö
previousSibling
Ominaisuus palauttaa solmun, joka on suoraan edeltävänä (samaa puurakennetta)
Jos tällaista solmua ei ole olemassa, ominaisuus palauttaa null.
Syntaksi
nodeObject.previousSibling
Huomioitavaa:Firefox ja suurin osa muista selaimista katsoo tyhjyyden tai rivinvaihdon tekstitiippina, kun taas Internet Explorer ei. Alla olevassa esimerkissä tarkistamme edellisen同级节in solmutyyppin funktiolla.
Elementin nodeType on 1, joten jos edellinen同级节点 ei ole elementti, siirtyy seuraavaan solmuun ja tarkistaa, onko solmu elementti. Tämä jatkuu, kunnes löydetään edellinen同级节点 (musti olla elementti). Tämä pitää tuloksen oikeana kaikissa selaimissa.
Vinkki:Lisätietoja selaimien välisistä eroista löydät XML DOM -oppaasta DOM-selaimet -luvusta.
esimerkki
esimerkki 1
Alla oleva koodi ladataan "books.xml" xmlDoc:iin ja haetaan ensimmäisen <author> -elementin edellinen sisarala:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); // 检查前一个同级节点是否是元素节点 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 sisarala: " + y.nodeName + " = " + y.childNodes[0].nodeValue; }
esimerkki 2
获取节点的下一个同级节点:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); // 检查下一个同级节点是否是元素节点 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 veljes: " + y.nodeName + " = " + y.childNodes[0].nodeValue; }