Uncaught TypeError: Cannot read property 'style' of undefined

Есть вот такой код. Инспектор выдаёт такую вот ошибку:

Uncaught TypeError: Cannot read property 'style' of undefined

Не могу понять в чём дело. Вроде же есть проверка и по идее, если нет таких переменных, то код не должен же выполняться?

var headerTitleText = document.querySelectorAll(".header-title_text");
var headerImg = document.querySelectorAll(".header-img");

setTimeout(function (){
if(headerImg && headerTitleText){
    headerTitleText[0].style.opacity = "1",
    headerImg[0].style.opacity = "1"
}}, 500);

Ответы (1 шт):

Автор решения: Grundy

document.querySelectorAll всегда возвращает NodeList, поэтому в проверке

headerImg && headerTitleText

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

if(headerImg.length && headerTitleText.length){
→ Ссылка