Вопрос:

Uncaught TypeError: Невозможно установить свойство 'backgroundImage' из неопределенного, хотя js вызывается после загрузки страницы

javascript html css onload

311 просмотра

1 ответ

66 Репутация автора

Я думал, что используя $(document).ready(function(){})прямо перед </body>загрузкой страницы, но когда я пытаюсь установить фоновое изображение с помощью JavaScript, я получаю:

Uncaught TypeError: Cannot set property 'backgroundImage' of undefined.

Код:

<body>
<div class="bottom_header"></div>
<script>
  $(document).ready(function(){
  doSlideshow();

  function doSlideshow()
  {
     var x = document.getElementsByClassName("bottom_header");
     x.style.backgroundImage = "url('s1.jpg')";
  }
})
</script>
</body>

Я также попробовал следующее, но результаты те же typeError. Я не могу понять, что я делаю неправильно.

<body>
<div class="bottom_header"></div>
<script>
window.onload = function() {
    alert("it's in");
    var x = document.getElementsByClassName("bottom_header");
    x.style.backgroundImage = "url('s1.jpg')";
}
</script>
</body>
Автор: prof chaos Источник Размещён: 08.11.2017 11:53

Ответы (1)


2 плюса

4608 Репутация автора

Решение

document.getElementsByClassName возвращает один или несколько элементов, поэтому вам нужно получить первый такой элемент (или выполнить итерацию по ним).

Автор: jhpratt Размещён: 08.11.2017 11:55
Вопросы из категории :
32x32