XML DOM previousSibling 屬性
❮ Node 物件
示例
下面的程式碼片段載入 "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>上一個兄弟節點: " + y.nodeName + " = " +
y.childNodes[0].nodeValue;
}
上面程式碼的輸出將是
author = Giada De Laurentiis
上一個兄弟節點: title = Everyday Italian
自己動手試一試 »
定義和用法
previousSibling 屬性返回節點之前的節點(在同一樹級別上的緊鄰的下一個節點)。
如果不存在這樣的節點,此屬性返回 null。
語法
nodeObject.previousSibling
提示和註釋
注意: Firefox 和大多數其他瀏覽器會將空白字元或換行符視為文字節點,而 Internet Explorer 則不會。因此,在下面的示例中,我們有一個函式可以檢查上一個兄弟節點的節點型別。
元素節點的 nodeType 為 1,因此如果上一個兄弟節點不是元素節點,它會移到下一個節點,並檢查該節點是否為元素節點。這會一直進行,直到找到上一個兄弟節點(它必須是元素節點)。這樣,結果在所有瀏覽器中都將是正確的。
提示: 要閱讀有關瀏覽器差異的更多資訊,請訪問我們 XML DOM 教程中的 DOM 瀏覽器章節。
實際操作演示
❮ Node 物件