Чем отличаются DOMNode и DOMElement?
Возьмём простейший HTML
<body>
  <p>Привет!</p>
</body>
Теперь построим дерево узлов (node)
BODY
  #text "\n  "
  P
    #text "Привет!"
  #text "\n"
Получился узел BODY с тремя дочерними узлами, #text, P и снова #text. При этом, узлы BODY и P соответствуют тэгам HTML. Именно они и являются элементами. Узлы типа #text были добавлены браузером автоматически при построении дерева DOM и элементами не являются, так как не имеют соответствующих им тэгов в HTML-коде.
Первая же ссылка в гугле))) по моему доходчиво