-1

Есть элементы списка:

<ul id="material-name-list">
  <li class="ldsp">Элемент</li>
  <li class="ldsp">Элемент</li>
  <li class="mdf">Элемент</li>
  <li class="mdf">Элемент</li>
</ul>

<a href="#" onclick="ldsp()">ЛДСП</a> <a href="#" onclick="mdf()">МДФ</a>

Есть функции, вызываемые при клике на ссылки:

function ldsp() {
    document.getElementsByClassName('ldsp').style.display = 'block';
    document.getElementsByClassName('mdf').style.display = 'none';
}

function mdf() { document.getElementsByClassName('ldsp').style.display = 'none'; document.getElementsByClassName('mdf').style.display = 'block'; }

Но почему-то функции не работают. Как сделать правильно, чтобы при клике на ссылку, всем элементам определенного класса присваивался стиль display="none"?

  • Что возращает document.getElementsByClassName? – EzioMercer Jul 13 '22 at 12:51
  • Кстати, это можно считать дубликатом этого вопроса: https://ru.stackoverflow.com/questions/532134/%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83-%D0%BD%D0%B5-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82-innerhtml/532135#532135 – EzioMercer Jul 13 '22 at 12:57

1 Answers1

0

getElementsByClassName возвращает колекцию элементов. Как следствие, нужно использовать что-то для прохода по коллекции, т.е. использовать цикл

  • Эх... А я надеялся заставить открыть документацию :) – EzioMercer Jul 13 '22 at 12:54
  • 1
    @EzioMercer я всё больше с каждым разом убеждаюсь, что людям, задающие вопросы, лень куда-то лезть, смотреть, отвечать на комментарии, Они приходят просто за ответом...как правило за готовым кодом. Поэтому даже не удивлюсь, если даже под этим ответом меня его попросят как пример..........а то, что люди ленивые и эгоисты говорит то, что данный вопрос обмусоливался на ruSO 123897132789 раз)) и вместо поиска, происхоит написание нового вопроса – Алексей Шиманский Jul 13 '22 at 12:58
  • Полностью согласен, потому не отвечаю на такие вопросы :) В поисковике самого ruSO по одному только слову getElementsByClassName нашёл 100500 похожих) Поставил тревогу с дубликатом, если хочешь можешь единолично закрыть :) – EzioMercer Jul 13 '22 at 13:01
  • Блин нашёл твой же ответ :) На 99% похожий вопрос: https://ru.stackoverflow.com/a/672551/385375 – EzioMercer Jul 13 '22 at 13:06
  • 1
  • Как ты помечаешь 2 дубликата? Это только юзерам с золотым значком и модераторам доступно? – EzioMercer Jul 13 '22 at 13:14
  • 1
    @EzioMercer да и модерам, соответственно. Там можно добавить несколько) – Алексей Шиманский Jul 13 '22 at 13:15