iamlorddop
@iamlorddop

Почему возникает ошибка с if?

у меня есть массив

let entryChildrenChildrenHasAttr = []

Я его заполняю элементами
641f10c0df109886958247.png

И проверяю есть ли атрибут у элементов
for(let i = 0; i < entryChildrenChildren.length; i++) {
        for(let j = 0; j < entryChildrenChildren[i].length; j++) {
            if (entryChildrenChildren[i][j].hasAttribute('x-make')) {
                entryChildrenChildrenHasAttr.push(entryChildrenChildren[i][j])
            }
        }
    }


Но js сообщает об ошибке
641f112046d6b743385296.png
Почему так происходит и как исправить?
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
Alexandroppolus
@Alexandroppolus
кодир
на скриншоте видно, что entryChildrenChildren[i][j] могут быть как элементами, так и текстовыми нодами. У последних нет hasAttribute.

перед вызовом hasAttribute проверяй наличие этой функции у объекта entryChildrenChildren[i][j]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы