|
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, время: 00:08. |
|