JastaFly
@JastaFly

Странная работа навигации по DOM?

Доброго всем времени суток! Не могу вкурить как устроена навигация по DOM в JS previousElementSibling, nextElementSibling отдают null, previousSibling, nextSibling возвращают какой-то #text, parentElement и parentElement возвращают не не посредственного родителя элемента, а родителя, родителя элемента. Что тут вообще происходит?!???
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
previousSibling, nextSibling возвращают какой-то #text

Если взять такой HTML-код:
HTML
<!DOCTYPE html>
<html>
  <head>
    <title>My Page</title>
  </head>
  <body>
    <!-- Page Body -->
    <h2><font color="#3AC1EF">My Page</font></h2>
    <p id="content">Thank you for visiting my web page!</p>
  </body>
</html>

то браузер превратит его в такую вот DOM:
DOM
HTML
  HEAD
    #text "\n "
    TITLE
      #text "My Page"
    #text "\n "
  #text "\n "
  BODY
    #text "\n "
    #comment " Page Body "
    #text "\n "
    H2
      FONT
        #text "My Page"
    #text "\n n"
    P
      #text "Thank you for visiting my web page!"
    #text "\n \n\n\n"

Переносы строк и пробелы между тэгами превратятся в дополнительные текстовые узлы. При этом такие узлы скрыты при навигации по элементам (previousElementSibling, nextElementSibling), но видны при навигации по полному дереву (previousSibling, nextSibling).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы