Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вшить в сайт. (https://javascript.ru/forum/misc/57331-vshit-v-sajjt.html)

Andrey Kovalchuk 30.07.2015 10:15

Вшить в сайт.
 
Доброго времени суток. Есть следующая проблема:
document.getElementsByClassName('itemImage')[0].classList.add('widthImage');


В консоли Chrome работает. Вшиваю в сайт, не работает. Выдает ошибку
Uncaught TypeError: Cannot read property 'classList' of undefined.


От чего такое может быть и как с этим бороться?

Erolast 30.07.2015 10:54

Код:

document.getElementsByClassName('itemImage')[0] is undefined.
Что непонятно?

Andrey Kovalchuk 30.07.2015 11:08

Цитата:

Сообщение от Erolast (Сообщение 382108)
Код:

document.getElementsByClassName('itemImage')[0] is undefined.
Что непонятно?

Непонятно, почему в консоли объект определяется преспокойно.

deivan 30.07.2015 11:25

потому что в момент выполнения скрипта этот элемент еще не в ДОМе (чему может быть 100500 причин, кода-то всего мы не видим)
телепатическим методом могу посоветовать вставить код, где имеется эта строка с ошибкой в такую конструкцию:
window.onload = function () {
...
document.getElementsByClassName('itemImage')[0].classList.add('widthImage');
...
}

Andrey Kovalchuk 31.07.2015 06:54

Цитата:

Сообщение от deivan (Сообщение 382112)
потому что в момент выполнения скрипта этот элемент еще не в ДОМе

Спасибо!


Часовой пояс GMT +3, время: 19:50.