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