Понимание на дом
Ладно, ребята, это просто сводит меня с ума. Я немного изучаю Javascript и пытаюсь понять, как JS решает эту проблему. Вот фрагмент кода:
<!DOCTYPE html> <html> <head> <title>JavaScript Programmer's Reference</title> </head> <body> <p id="myParagraph">This is my paragraph! <span class="hideme1">Lorem ipsum</span> dolor sit amet. <span></span> </p> <p class="hideme2">Another paragraph!</p> <script> alert(document.childNodes[1].childNodes[2].childNodes[3].className); // will alert "hideme2" </script> </body> </html>
Теперь, если HTML (DOM?) организован в виде дерева, то как ссылка "document.childNodes[1].childNodes[2].childNodes[3] приводит нас к этому 2-му абзацу в теле? В предупреждении отображается "hideme2".
Я вижу, что DOCTYPE-это document.childNodes[0], а HTML-блок-document.childNodes[1]. Я бы ожидал , что тогда будет document.childNodes[1].childNodes[1], верно? Я не вижу, как существует даже document.childNodes[1].childNodes[2], не говоря уже о 3-м уровне под ним.
Я явно что-то упускаю здесь, но вижу только 3 элемента, которые подчинены телу, 2 абзаца и блок. Я бы ожидал, что 2-й абзац будет document.childNodes[1].childNodes[1].childNodes[1] (предполагая, что все основано на 0, как обычно). Чего я здесь не вижу?
Спасибо,
СМ
&ЛТ;б&ГТ;то, что я пробовала:&ЛТ;/б&ГТ;
Почесываю в затылке и изучаю рекомендации дома.