我必须制作我制作的数组。一个抓取一些锚标签,另一个抓取一组 ul。锚标记都有一个名称属性,并且 ul 具有与锚标记名称属性匹配的 id。除此之外,所有 ul 都有“.students”和“.hidden”类。(所有 .hidden 所做的就是设置显示:无)
<div>
<ul>
<li><h4><a name="5th-grade">5th Grade</a></h4></li>
<li><h4><a name="6th-grade">6th Grade</a></h4></li>
<li><h4><a name="7th-grade">7th Grade</a></h4></li>
<li><h4><a name="8th-grade">8th Grade</a></h4></li>
</ul>
</div>
<div>
<ul id="5th-grade" class="students hidden ">
<li>Billy Bob</li>
</ul>
<ul id="6th-grade" class="students hidden">
<li>Bob Sackamano</li>
</ul>
<ul id="7th-grade" class="students hidden">
<li>Matt Blunt</li>
</ul>
</div>
我想要做的是拥有它,所以当我点击其中一个锚标签时,它会将其对应的名称属性与具有相同 id 的 ul 匹配,通过删除“.hidden”类使其出现,然后隐藏通过添加“.hidden”类不匹配的任何其他 ul。
到目前为止,这是我使用一个小 jquery 提出的内容以及我停止的地方:
var aGradelist = $('#grade-list ul li a');
var aStudents = $('.students');
aGradelist.click(function(){
var i = '#' + $(this).attr('name');
$('.students'+i).removeClass('hidden');
for(var j=0;j<aStudents.length;j++)
{
console.log(aStudents.attr('id')[j]);
}
});
让正确的 ul 出现没有问题,但我无法将“.hidden”类添加到其他 ul 中。我安慰它发现至少我的一个问题是在for循环中,我不是通过aStudents数组中的每个ul,而是通过aStudents数组中第一项的id的字母。
我是否以正确的方式接近这个?你对如何做到这一点有一些想法吗?