Uncaught TypeError: Cannot set property 'backgroundImage' of undefined

270
08 декабря 2017, 05:52

Uncaught TypeError: Cannot set property 'backgroundImage' of undefined

вот код

setInterval(function(){ 
  document.getElementsByClassName("slide").style.backgroundImage =
    "url(../img/slide2.jpg)"
}, 5000);

в чем проблема и как поправить?

Answer 1

Проблема в том, что document.getElementsByClassName() возвращает массивоподобный (итерируемый) объект всех дочерних элементов .

Можно делать следующим образом

setInterval(function(){ 
  document.getElementsByClassName("slide")[0].style.backgroundImage =
    "url(../img/slide2.jpg)"
}, 5000);

если элемент с таким классом на странице один, либо перебирать все элементы массива и для применять для каждого из них.

READ ALSO
JS файл разбить на несколько файлов

JS файл разбить на несколько файлов

Как разделить это на файлы , если вообще не понятно ничего ?

211
React+Redux обновление стора

React+Redux обновление стора

Как отследить изменение стора в Redux? В интеренете нашел что используется метод componentWillReceivePropsЯ пытаюсь в нем вызвать метод который подгружает...

299
React router layout

React router layout

У меня есть роутинг через react-router-redux:

251