|
document.getElementById return undefined
Добрый день, только начал курить джаваскрипт.
var left = document.getElementById('sq').style.left; // return Undefined <div id="sq" class="square"></div> Помогите плиз |
document.getElementById возвращает либо элемент, либо null. И никогда undefined. Такие дела.
Возможно проблема в следующем: <script> alert( document.getElementById('sq') ); // такого элемента в документе ещё нет </script> <div id="sq" class="square"></div> <script> alert( document.getElementById('sq') ); // элемент в документе: получите-распишитесь </script> |
Свойство .style содержит стили из атрибута style. И не имеет никакого отношения к стилям, прилетевшим через класс или ещё как. И, кстати, непонятно, откуда взялся undefined:
<div id="sq" class="square"></div> <script> alert( typeof document.getElementById('sq').style.left ); </script> В любом случае, RTFM! |
Sweet, cкорее всего проблема в другом.
HardR0ck, element.style - содержит только то, что есть в атрибуте style этого элемента. Если же left задан в css, то получить его можно либо перебрав саму css, либо получив вычисленное браузером значение: var elem = document.getElementById('sq'); var left = (window.getComputedStyle ? getComputedStyle(elem, null) : elem.currentStyle).left; |
Цитата:
|
foo, вопрос - откуда undefined?
document.getElementById('sq') - никогда не undefined document.getElementById('sq').style - никогда не undefined document.getElementById('sq').style.left - никогда не undefined |
Цитата:
|
Цитата:
<div id="sq" class="square"></div> <script> alert(left);//undefined var left = document.getElementById('sq').style.left; </script> |
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 09:42. |
|