Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   изучаю dom (https://javascript.ru/forum/events/21693-izuchayu-dom.html)

olga153b 20.09.2011 15:52

изучаю dom
 
html имеет 2 потомка head и body.
alert(document.body.parentNode) дает html.
почему alert(document.head.parentNode) не дает html.

Sweet 20.09.2011 16:13

А в каком браузере? В Chrome дает:
alert( document.head.parentNode );

olga153b 20.09.2011 16:32

в FF дает ошибка: document.head is undefined

olga153b 20.09.2011 16:56

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <title>О лосях</title>
<script>
alert(document.body.firstChild)


</script>

    </head>
    <body>
        Правда о лосях.
        <ol>

            <li>
                Лось - животное хитрое
             </li>
            <li>
                .. И коварное
            </li>
        </ol>
    </body>
</html>

еще первый ребенок у body должен быть ol
ничего не дает

Sweet 20.09.2011 16:57

Это совсем другое. Просто у document нет свойства .head. Используй другой способ получить его:
if( !document.head )
  document.head = document.getElementsByTagName( "head" )[ 0 ]
alert( document.head.parentNode );

Sweet 20.09.2011 17:01

Цитата:

Сообщение от olga153b
ничего не дает

Неправда! Дает ошибку. Используй дебаггер (например, firebug). Там ошибка, что body еще не существует.
Цитата:

Сообщение от olga153b
еще первый ребенок у body должен быть ol

Нет, должен быть текстовый узел.

olga153b 20.09.2011 17:08

а почему условие проверяется через if?, я видела (?: )
и второй вопрос не могу разобраться с this.
Написано, что это указатель и зависит от контекста.
Провожу аналогию: указатель, это на вокзале указывает выход в город,
на 5,6 путь, в камеры хранения ит.д.
Контекст это например коса у девочки, коса косит траву, коса в море,
это зависимо от контекста.
с чем это можно сравнить, чтобы понять смысл?

olga153b 20.09.2011 17:10

да дает ошибку, хотела отредактировать у меня не получилось

melky 20.09.2011 17:13

Цитата:

Сообщение от olga153b (Сообщение 127342)
с чем это можно сравнить, чтобы понять смысл?

ЭТО оно и в африке ЭТО.

ЭТО по-умолчанию - window, глобальный объект.

//говорит о контексте.
function a(){alert(this)}

a(); // window.

var myObj = {};
a.call( myObj )// сменили переменную this на этот пустой объект

// по умолчанию ?
a.call( null ); // window
a.call( undefined );

olga153b 20.09.2011 17:18

а если я уберу текст "Правда о лосях", будет 1 ребенком ol?
большое Вам спасибо я добавлю Вам 1


Часовой пояс GMT +3, время: 05:46.