【发布时间】:2018-09-26 12:08:27
【问题描述】:
在使用 js 脚本方面需要帮助。
<ul class="producers-links">
<li class="section_All active-producer">A-Z</li>
<li class="section_0-9">0-9</li>
<li class="section_A">A</li>
<li class="section_B">B</li>
<li class="section_C">C</li>
</ul>
和
<div class="producers-list">
<div class="producers-container" id="producers-0-9">
<div class="break-producers">0-9</div>
</div>
<div class="producers-container" id="producers-A">
<div class="break-producers">A</div>
<a href="">Producer 1</a>
</div>
<div class="producers-container" id="producers-B">
<div class="break-producers">B</div>
<a href="">Producer 2</a>
</div>
<div class="producers-container" id="producers-C">
<div class="break-producers">C</div>
<a href="">Producer 3</a>
</div>
</div>
如何制作允许用户单击列表元素的 js 脚本,然后生产者列表中的所有 div 将显示:没有在列表中单击的这个元素。
var producersList = document.querySelectorAll('ul.producers-links>li');
var producersLists = document.querySelectorAll('div.producers-list>div.producers-container');
for (var i = 0; i < producersList.length; i++) {
producersList[i].addEventListener('click', function () {
document.querySelector('.active-producer').classList.remove('active-producer');
this.classList.add('active-producer');
var index = 0,
length = producersList.length;
for (; index < length; index++) {
producersLists[index].style.display = "none";
}
});
}
这允许我隐藏生产者容器中的所有元素,但我不知道如何只显示列表中之前点击的一个元素。
【问题讨论】:
标签: javascript javascript-objects dom-events