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