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