XML DOM previousSibling attribute
Paglilinaw at Paggamit
previousSibling
Ang attribute ay ibabalik ang naka-katabi na node (ang susunod na node sa parehong antas ng puno).
Kung wala ang ganitong node, ang attribute ay ibabalik na null.
Pangangatwiran
nodeObject.previousSibling
Babala:Ang Firefox at karamihan sa ibang browser ay magtuturing ng walang laman o tab na bilang text node, habang ang Internet Explorer ay hindi. Sa mga sumusunod na halimbawa, gamit namin ang isang function upang suriin ang uri ng node ng nakaraang同级.
Ang nodeType ng element node ay 1, kaya kung ang nakaraang同级 node ay hindi element node, ilipat sa susunod na node at suriin kung ang node na ito ay element node. Ito ay magpapatuloy hanggang makasumpong ng nakaraang同级 node (dapat ito ay element node). Gayunpaman, ang resulta ay tama sa lahat ng browser.
提示:如需了解有关浏览器之间差异的更多信息,请访问 XML DOM 教程中的 DOM 浏览器章节。
实例
例子 1
下面的代码将 "books.xml" 加载到 xmlDoc 中,,并从第一个 <author> 元素获取前一个同级节点:
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>Previous sibling: " + y.nodeName + " = " + y.childNodes[0].nodeValue; }
例子 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>Next sibling: " + y.nodeName + " = " + y.childNodes[0].nodeValue; }