AllDecay
@AllDecay
Вечно отдыхающий.

Как правильно сделать выпадающий div при нажатии?

Имею такой html код (ненужные участки подтер за ненадобностью)
<div class="tab-pane" for="standart tabs_containers" id="tab0">
	<div class="effectiv_bar" style="width: 25%">25%</div>
	<div class="effectiv_color" style="width: 25%"></div>
	<div class="big_block">
		<button class="material_info">подробнее о материале</button>
	</div>
	<div class="desc">
		<ul style="padding: 0;">
тут какой-то текст
		</ul>
	</div>
</div>

Блоку "desc" прописываю следующие стили:
.desc{
       display: none;
}

И отлавливаю нажатия следующим js:
var acc = document.getElementsByClassName("material_info");
var i;
												
for (i = 0; i < acc.length; i++) {
	acc[i].addEventListener("click", function() {
	this.classList.toggle("active");
        if (document.getElementsByClassName("desc")[i].style.display == "block") {
		document.getElementsByClassName("desc")[i].style.display = "none";
	} else {
		document.getElementsByClassName("desc")[i].style.display = "block";
	}
});
}

В итоге получаю в консоли: Cannot read property 'style' of undefined и отсутствие появляющегося блока. В чем ошибка?
  • Вопрос задан
  • 88 просмотров
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы