Да спс. Я уже тоже сообразил:)
|
Цитата:
Цитата:
|
Matre, я тебя не понял.
|
Всем привет! Разбираюсь с DOM. Почему при первом вызове alert() не видит свойства tagName, но зато при вызове через функцию все ок? Как всегда скромно надеюсь на помощь:)
<script> try {alert(document.body.tagName);} catch(e) {alert(e);}; function f(){alert(document.body.tagName);}; </script> <body> <button onclick="f();">ok</button> </body> PS Народ можно ли переименовать тему? А то начиналось то все с одного вопроса, а разрослось в ценный для меня ресурс и название темы не соответствует вопросам. |
Потому что никакого body ещё нет. Как видно script идёт выше чем body, а запускается он по мере обработки страницы.
|
а ну тогда все ясно. я думал что js запускается уже после запуска html. спасибо Aetae, ты как всегда выручаешь:)
|
От спасибо , не знаю правда кому, за замену названия топика:thanks:
|
Продолжаю изучение DOM и снова проблема. Почему этот код не работает в Firefox и IE? Проверял только на Ghrome. Неужели браузер не видит текстовый узел?
<body onclick="this.firstChild.nodeValue = 'text'"> </body> UPD Проверил узел #text точно существует в Firefox. <body onclick="this.firstChild.nodeValue = 'text'"> </body> <script> var str; for(i=0;i<document.body.childNodes.length;i++) str+=document.body.childNodes[i]+'\n'; alert(str); </script> |
<body onclick="document.body.firstChild.nodeValue = 'text';alert(this)"> </body> |
Вот блин.. оказывается в файрфоксе this ссылается на window. В IE это просто объект. Спасибо Aetae, глупый вопрос, еще пока не добрался до обработчиков событий.
|
Часовой пояс GMT +3, время: 16:57. |