Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.06.2014, 17:56
Новичок на форуме
Отправить личное сообщение для HardR0ck Посмотреть профиль Найти все сообщения от HardR0ck
 
Регистрация: 29.06.2014
Сообщений: 2

document.getElementById return undefined
Добрый день, только начал курить джаваскрипт.

var left = document.getElementById('sq').style.left; // return Undefined

<div id="sq" class="square"></div>


Помогите плиз
Ответить с цитированием
  #2 (permalink)  
Старый 29.06.2014, 18:09
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

document.getElementById возвращает либо элемент, либо null. И никогда undefined. Такие дела.
Возможно проблема в следующем:
<script>
alert( document.getElementById('sq') ); // такого элемента в документе ещё нет
</script>

<div id="sq" class="square"></div>

<script>
alert( document.getElementById('sq') ); // элемент в документе: получите-распишитесь
</script>
Ответить с цитированием
  #3 (permalink)  
Старый 29.06.2014, 18:54
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Свойство .style содержит стили из атрибута style. И не имеет никакого отношения к стилям, прилетевшим через класс или ещё как. И, кстати, непонятно, откуда взялся undefined:
<div id="sq" class="square"></div>
<script>
alert( typeof document.getElementById('sq').style.left );
</script>

В любом случае, RTFM!
Ответить с цитированием
  #4 (permalink)  
Старый 29.06.2014, 19:11
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,502

Sweet, cкорее всего проблема в другом.
HardR0ck, element.style - содержит только то, что есть в атрибуте style этого элемента. Если же left задан в css, то получить его можно либо перебрав саму css, либо получив вычисленное браузером значение:
var elem = document.getElementById('sq');
var left = (window.getComputedStyle ? getComputedStyle(elem, null) : elem.currentStyle).left;
__________________
29375, 35
Ответить с цитированием
  #5 (permalink)  
Старый 29.06.2014, 21:09
foo foo вне форума
Профессор
Отправить личное сообщение для foo Посмотреть профиль Найти все сообщения от foo
 
Регистрация: 17.05.2014
Сообщений: 197

Сообщение от Sweet
document.getElementById возвращает либо элемент, либо null. И никогда undefined. Такие дела.
А при чем тут document.getElementById, если речь о var left = document.getElementById('sq').style.left? Это что то из разряда в огороде бузина а в Киеве дядька?
Ответить с цитированием
  #6 (permalink)  
Старый 29.06.2014, 21:29
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,502

foo, вопрос - откуда undefined?
document.getElementById('sq') - никогда не undefined
document.getElementById('sq').style - никогда не undefined
document.getElementById('sq').style.left - никогда не undefined
__________________
29375, 35
Ответить с цитированием
  #7 (permalink)  
Старый 29.06.2014, 21:30
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Сообщение от foo
А при чем тут document.getElementById
Тема называется "document.getElementById return undefined".
Ответить с цитированием
  #8 (permalink)  
Старый 29.06.2014, 21:55
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от Sweet
И, кстати, непонятно, откуда взялся undefined:
ну только отсюда наверное
<div id="sq" class="square"></div>
<script>
alert(left);//undefined
var left = document.getElementById('sq').style.left; 
</script>
Ответить с цитированием
  #9 (permalink)  
Старый 29.06.2014, 22:10
foo foo вне форума
Профессор
Отправить личное сообщение для foo Посмотреть профиль Найти все сообщения от foo
 
Регистрация: 17.05.2014
Сообщений: 197

Сообщение от Aetae
откуда undefined?
Да, я понял, это типа шутка была. Там, вообще-то пустая строка возвращается в его случае. А почему undefined у него с большой буквы? Это тс ошибся, или в этом есть тайный смысл?
Ответить с цитированием
  #10 (permalink)  
Старый 29.06.2014, 22:13
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от foo
Это тс ошибся, или в этом есть тайный смысл?
есть - комментарии не обрабатываются интерпретатором, что хочу, то и пишу
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов функции Hol1killer Prototype & script.aculo.us 11 05.12.2016 01:37
jQuery научите пользоваться. Станислав89 Общие вопросы Javascript 10 19.12.2013 23:01
Помогите разобраться ŞΘLƉiΞR Общие вопросы Javascript 2 28.08.2012 11:57
регулярки: замена ссылки на ютуб Hekumok Общие вопросы Javascript 105 01.08.2012 10:48
Свойства посредством полиморфных функций tenshi Ваши сайты и скрипты 0 18.03.2010 17:12