Атрибут firstChild XML DOM

Определение и использование

Атрибут firstChild возвращает первый подузел выбранного узла.

Если выбранный узел не имеет подузлов, то этот атрибут возвращает NULL.

Синтаксис:

elementNode.firstChild

Подсказки и комментарии

Комментарий:Internet Explorer игнорирует пустые текстовые узлы, созданные между узлами (например, символы перевода строки), в то время как Mozilla этого не делает. Поэтому в следующем примере мы используем функцию для проверки типа узла первого подузла.

Элементные узлы имеют тип узла 1, поэтому если первый подузел не является элементным узлом, перемещаемся к следующему узлу и проверяем, является ли он элементным узлом. Этот процесс продолжается до тех пор, пока не будет найден первый подузел. Этот метод гарантирует, что в Internet Explorer и Mozilla будут получены правильные результаты.

Для получения дополнительной информации о различиях между браузерами IE и Mozilla обратитесь к разделу XML DOM на сайте CodeW3C.com 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