XML DOM previousSibling属性

Node オブジェクトリファレンスマニュアル

定義と使用法

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

Node オブジェクトリファレンスマニュアル