Итак, я пытаюсь сделать ОС в javascript, и да, я знаю, что это, скорее всего, будет в HTML, но я над чем-то работаю, поэтому у меня были некоторые проблемы с этим, особенно с этим простым маленьким крошечным кодом, я пробовал все с и без и пришел с двумя ошибками. Один я поместил в заголовок, а второй без использования длины и просто поставил число, я поставил 1, чтобы посмотреть, что произойдет. для второй ошибки это то же самое, что и эта ошибка, за исключением того, что без «длины» у нее есть «1» или другое число, которое я вставил в нее. Я также просмотрел переполнение стека и ничего не нашел.
Вот мой код:
var i;
var c = document.getElementsByClassName("app-slot").children;
for (i = 0; i < c.length; i++){
if (c[i].tagName != "img"){
c[i].style.display = "none";
}
}
Может ли кто-нибудь помочь мне сказать мне, что может быть не так с этим... моя основная цель - определить, есть ли верхний элемент с именем класса "app-slot" и посмотреть, есть ли у него дочерний тег "img". Я знаю, что это работает с идентификаторами, а не с другими, я полностью застрял на этом. Это отличается от дублированного, который был помечен, потому что он использует дочернее свойство, и простое изменение его на «querySelectorAll» при сохранении дочернего свойства ничего не меняет и не дает мне пример, который я хотел, либо в одном из ответы.
Чем я могу заставить это работать, чем... не могли бы вы привести лучший пример, пожалуйста.
children существует для каждого элемента внутри коллекции, возвращаемой document.getElementsByClassName("app-slot"). Таким образом, вложенный цикл for может работать в зависимости от того, что вы пытаетесь сделать: for (let element of document.getElementsByClassName("grid")){ for (i = 0; i < element.children.length; i++){ } }Если на вашей странице есть только один элемент с классом app-slot, то получите единственный элемент из коллекции, используя [0]: var c = document.getElementsByClassName("app-slot")[0].children;
У меня их 14, и у меня есть 7, которые должны отображаться как встроенные, если это работает, если бы у меня был один, я бы просто использовал 0.
Попробуйте вложенный цикл for, предложенный в предыдущем комментарии. Это похоже на массив объектов, каждый из которых имеет свойство массива children.
Например, что вы имеете в виду, я все еще довольно новичок в этом, забыл упомянуть об этом, но мне действительно нужна помощь в этом, я попробовал это предложение, но не сработало, но не знаю, правильно ли я это сделал.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


getElementsByClassNameвозвращает коллекция элементов, и в нем нет свойстваchildren