До сегодняшнего дня ни разу не писал на чистом javascript'e. Но вот приспичило. У сразу же схлопотал ошибку, а что не так - не пойму. Есть один файл (index.html):
11
И второй файл (script.js):
(function () {
document.getElementById("qwer").innerHTML='44';
})();
В общем скрипт не работает, отладчик пишет "uncaught typeerror: cannot set property of null"
Что же не так? Ведь элемент с id "qwer" существует. Ответ
В момент исполнения скрипта, документ еще не загрузился до конца. Первый вариант. Вам нужно сделать аналог jquery метода $(document).ready(). Например, вызывать свой метод внутри window.onload = function(){}; Учтите, что таким образом функцию на событие можно навесить только один раз. Если мало - нужно сделать свой кроссбраузерный аналог jquery метода bind. Есть второй вариант. Переместить вызов скрипта в самый низ документа.
Комментариев нет:
Отправить комментарий