XML DOM previousSibling 屬性
Node 對象
定義和用法
previousSibling 屬性返回元素之前緊接的節(jié)點(處于同一樹層級中)。
如果無此節(jié)點,則該屬性返回 null。
語法
nodeObject.previousSibling
提示和注釋
注釋:Firefox 以及大多數(shù)其他的瀏覽器,會把節(jié)點間生成的空的空格或者換行當(dāng)作文本節(jié)點,而 Internet Explorer 會忽略節(jié)點間生成的空白文本節(jié)點。因此,在下面的實例中,我們會使用一個函數(shù)來檢查上一個同級節(jié)點的節(jié)點類型。
元素節(jié)點的節(jié)點類型是 1,因此如果上一個同級節(jié)點不是一個元素節(jié)點,它就會移至下一個節(jié)點,然后繼續(xù)檢查此節(jié)點是否為元素節(jié)點。整個過程會一直持續(xù)到上一個同級元素節(jié)點被找到為止。通過這個方法,我們就可以在所有的瀏覽器中得到正確的結(jié)果。
提示:如需了解更多有關(guān)瀏覽器差異的知識,請在我們的 XML DOM 教程中訪問我們的 DOM 瀏覽器 章節(jié)。
實例
下面的代碼片段使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中,并從第一個 <author> 元素取得上一個同級節(jié)點:
實例
//check if the previous sibling node is an element node
function get_previoussibling(n)
{
x=n.previousSibling;
while (x.nodeType!=1)
{
x=x.previousSibling;
}
return x;
}
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("author")[0];
document.write(x.nodeName);
document.write(" = ");
document.write(x.childNodes[0].nodeValue);
y=get_previoussibling(x);
document.write("
Previous sibling: ");
document.write(y.nodeName);
document.write(" = ");
document.write(y.childNodes[0].nodeValue);
上面的代碼將輸出:
author = Giada De Laurentiis
Previous sibling: title = Everyday Italian
嘗試一下 ?
嘗試一下 Demos
nextSibling - Get the next sibling of a node
Node 對象
更多建議: