XML DOM firstChild 属性
定義と用法
firstChild 属性は選択されたノードの最初の子ノードを返します。
選択されたノードに子ノードがない場合、この属性は NULL を返します。
文法:
elementNode.firstChild
ヒントと注釈
注釈:Internet Explorerは、ノード間に生成される空白テキストノード(例えば、改行文字)を無視しますが、Mozillaはそうではありません。したがって、以下の例では、最初の子ノードのノードタイプを検出する関数を使用します。
要素ノードのノードタイプは 1 であり、したがって最初の子ノードが要素ノードでない場合、次のノードに移動し、そのノードが要素ノードであるかどうかを検出します。このプロセスは最初の子ノードが見つかるまで続行します。この方法は、Internet ExplorerとMozillaで正しい結果を得ることを保証します。
IEとMozillaブラウザの違いに関するさらに多くの情報が必要な場合は、CodeW3C.comのXML DOMチュートリアルの DOM ブラウザ このセクション
例
すべての例では、このセクションで使用する XML ファイル books.xml、および JavaScript 関数 loadXMLDoc()。
以下のコードスニペットは "books.xml" から最初の子ノードを取得します:
//チェックして、最初のノードが要素ノードであるかどうか
function get_firstchild(n)
{
var x =n.firstChild
;
while (x.nodeType != 1)
{
x=x.nextSibling;
}
return x;
}
xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.documentElement;
var firstNode=get_firstchild(x);
for (var i=0;i<firstNode.childNodes.length;i++)
{
if (firstNode.childNodes[i].nodeType==1)
{
// 仅处理元素节点
document.write(firstNode.childNodes[i].nodeName);
document.write(" = ");
document.write(firstNode.childNodes[i].childNodes[0].nodeValue);
document.write("<br />");
}
}
上記のコードの出力:
title = Everyday Italian author = Giada De Laurentiis year = 2005 price = 30.00