Почему не работает скрипт, если взять переменную через getElementsByClassName?
Здравствуйте. Взял готовый скрипт "Показать / Скрыть блок" и передал под себя.
Изначально переменная переменная "let content" бралась через getElementById.
Но т.к. мне нужно скрыть блоки массово, то решил поэкспериментировать через классы, методом getElementsByClassName.
Безуспешно(((. В чём причина?
Во первых твой код не работает formOrder не определена.
Во вторых если не знаешь, что тебе приходит используй консоль лог
В третьих getElementsByClassName возвращает коллекцию элементов, обращаться к какому либо элементу можно по его индексу
WapSter, дружище, я конечно понимаю, что тебя раздражают такие незнающие, как я. Возможно ты гуру и тебе это покажется чем то из "невероятно лёгкого". Но если не получается у меня, наверное я бы не спрашивал??? Да, я не знаток js, особенно этого упрощенного кода. Уж мог бы догадаться...
Александр Черемхин, WapSter, вы, кстати, упустили самое главное: getElementsByClassName возвращает ХТМЛКоллекцию, а не НодЛист, то есть у него нет своего форЫча.
Иными словами, этот код нерабочий.
Особенно для автора, который даже не понимает для чего нужны названия переменным.
Вот рабочий вариант с перебором HTMLColletion в .content:
Но зачем вам перебирать все элементы с одним и тем же классом, если их все можно поместить в один блок, и скрывать только его? Ну то есть мы можем спокойно обойтись без перебора HTMLCollection немного изменив верстку.
Вот так: