XML DOM previousSibling属性
定義と使用法
previousSibling属性は、あるノードの前に直近に存在するノード(同じ木のレベルに存在する)を返します。
このノードがない場合、この属性はnullを返します。
文法:
nodeObject.previousSibling
ヒントと注釈
注釈:Internet Explorerは、節間に生成された空白テキストノード(例えば、改行シンボル)を無視しますが、Mozillaはこれを行いません。したがって、以下の例では、最初の子ノードのノードタイプをチェックする関数を使用します。
要素ノードのノードタイプは1であり、したがって、最初の子ノードが要素ノードでない場合、それが次のノードに移動し、そのノードが要素ノードであるかどうかをチェックし続けます。このプロセスは、最初の要素子ノードが見つかるまで続きます。この方法で、Internet ExplorerとMozillaで正しいメソッドを取得できます。
ヒント:IEとMozillaブラウザの間のXML DOMの違いに関する詳細情報は、以下のページを訪れてください DOMブラウザ 章。
例
すべての例では、以下のXMLファイルを使用します books.xml、およびJavaScript関数 loadXMLDoc()。
以下のコードスライスは、XMLドキュメントから<author>要素で前の同级ノードを取得できます:
//チェックする前の同级ノードが要素ノードであるかどうか
function get_previoussibling(n)
{
var x=n.previousSibling;
while (x.nodeType!=1)
{
x=x.previousSibling
;
}
return x;
}
xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.getElementsByTagName("author")[0];
document.write(x.nodeName);
document.write(" = ");
document.write(x.childNodes[0].nodeValue);
var y=get_previoussibling(x);
document.write("<br />前の同階ノード: ");
document.write(y.nodeName);
document.write(" = ");
document.write(y.childNodes[0].nodeValue);
出力:
author = Giada De Laurentiis 前の同階ノード: title = Everyday Italian