Как сказал в своем комментарии Джеймс Аллардис, код, вероятно, выполнен до того, как DOM готов. Тогда ваш код мог бы не работать, поскольку элемент может отсутствовать. Это известная проблема, но есть также известное решение. Наиболее часто используемым решением является, вероятно, использование jQuery, который имеет простой способ разрешить выполнение функции только после того, как документ будет готов. Для того, чтобы использовать этот метод, сначала нужно включить JQuery в качестве справочного сценария, а затем изменить код следующим образом:
$(document).ready(function() {
document.getElementById("clr").style.backgroundColor="red";
document.getElementById("test1").innerHTML="hwllo world";
});
Теперь, если вы используете JQuery в любом случае, вы можете также переписать код, чтобы использовать JQuery селекторы и сделать это немного более компактно:
$(document).ready(function() {
$("#clr").css("backgroundColor", "red");
$("#test1").html("hwllo world");
});
Оба фрагмента кода функционально эквивалентны.
Я предполагаю, что второй пример работает до DOM готов. Поместите его в готовый обработчик событий или переместите скрипт в конец тела, чтобы элемент, к которому он ссылается, существует к моменту анализа скрипта. –
Какой браузер вы используете? Где вы разместили код JavaScript? Просьба привести пример. – David
во втором случае ваш код не был выполнен. поэтому вам нужно включить функцию автозапуска. Проверьте мой ответ. – Sudarshan