getElementById() почему не работает

 
0
 
JavaScript
ava
Royan | 07.08.2007, 01:04
Имеем такую структуру документа:


<HTML>
<HEAD>
<TITLE>Название</TITLE>
<LINK href="css/my.css" media="screen" rel="StyleSheet" type="text/css"/>
<script type="text/javascript">
alert(document.getElementById("defaultActive").style.marginLeft)
</SCRIPT>
</HEAD>
<BODY>
<!-- МЕСТО №2 -->
<DIV id="mydiv">
<span id="myspan"></span>
</DIV>
<!-- МЕСТО №3 -->
</BODY>
</HTML>


В CSS описывается правило:


#mydiv #myspan{
MARGIN-LEFT:10px;
}


Желаем получить alert, выводящий значение "10px"

Если запустить этот код то в случае когда он находится там, где он находится сейчас или в месте №2 получим ошибку message: Statement on line 5: Could not convert undefined or null to object Ну или нечто похожее в зависимости от браузера. Так вопрос почему происходит ошибка? Неужели чтобы добраться до какого конкретного элемента весь код JS должен располагаться ниже него? Как мне оставить весь код в теге HEAD и заставить его работать?
Comments (2)
ava
Zeroglif | 07.08.2007, 00:22 #
Цитата (Royan @ 7.8.2007, 01:04 findReferencedText)
Так вопрос почему происходит ошибка?

Потому что парсер ещё не дошёл до нужного элемента.

Цитата (Royan @ 7.8.2007, 01:04 findReferencedText)
Неужели чтобы добраться до какого конкретного элемента весь код JS должен располагаться ниже него?

Или ниже, или по событию onload.

p.s.
- в показанном коде нет элемента с id="defaultActive";
- через элемент.style. можно достать стили, которые живут непосредственно в теге (inline);
ava
Royan | 07.08.2007, 09:38 #
Zeroglif, Все вспомнил спасибо! smile
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
  Royan   Zeroglif
advanced
Submit