понедельник, 17 марта 2008 г.

descendants, childNodes и тому подобное

descendants - возвращает список ВСЕХ объектов, вложенных в данный объект (т.е. потомков, потомков потомков и т.д.) immediateDescendants, childElements - возвращает список только прямых потомков. Стандартный childNodes также возвращает список только прямых потомков. Отличие childNodes от immediateDescendants состоит в том, что методы prototype пропускают узлы типа TEXT_NODE и возвращают список только элементов. Посмотрим на примере. Пусть, например, есть следующая структура:
<div id="Hardware">Hardware
 <div id="CPU">CPU
  <div id="Pentium4">Pentium4</div>
  <div id="CoreDuo">Core Duo</div>
  <div id="AthlonXP">Athlon XP</div></div><div id="Videoadapters">;Videoadapters
  <div id="gf6800gt">GeForce 6800 GT</div>
  <div id="rx1650xt">Radeon X1650 XT</div></div>
</div>
Для элемента Hardware: immediateDescendants вернет:
CPU
Videoadapters
descendants вернет:
CPU
Pentium4
CoreDuo
AthlonXP
Videoadapters
gf6800gt
rx1650xt
childNodes вернет:
[#text]
[DIV id: CPU]
[#text]
[DIV id: Videoadapters]
[#text]