Я не могу проверить, существует ли `.childNodes [1].childNodes [1]` или нет

#javascript #html #child-nodes

#javascript #HTML #дочерние узлы

Вопрос:

 Array.from(document.querySelectorAll('.thread')).map((item) => {
    
    if(item.childNodes[1].childNodes[1] === undefined){
        console.log('hey')
    }
})
 

введите описание изображения здесь

Я хочу сказать, что если нет item.childNodes[1].childNodes[1] , то сделайте что-нибудь. Вот и все.

Комментарии:

1. Array.from принимает второй аргумент, который совпадает с вызовом .map , но не создает промежуточный массив.

2. Извините, я не мог понять, что вы пытались сказать @SebastianSimon

3. Мой английский не настолько хорош, чтобы понять, что вы говорите, можете ли вы отредактировать мой код вместо этого?

4. Знаете ли вы, что это childNodes включает в себя не элементы, например Текстовые узлы? .children содержит только элементы. Если вы уверены .childNodes , используйте необязательный оператор цепочки .

5. Если вы ориентируетесь на современный браузер, вы можете использовать необязательную цепочку : if (item?.childNodes?.[1]?.childNodes?.[1] === undefined) {

Ответ №1:

Вы можете использовать необязательную цепочку :-

 if(item?.childNodes?.[1]?.childNodes?.[1] === undefined){
        console.log('hey')
    }
 

Комментарии:

1. Кстати, у меня есть переменная с именем item на консоли.

2. Извините, что не понял вас.