Javascript for循环返回数组中一个项目的单个字母,而不是数组中的每个项目
我必须把我制作的数组保存起来。一个抓取一些锚定标签,另一个抓取一组ul标签。锚定标签都具有名称属性,ul具有与锚定标签名称属性匹配的id。除此之外,所有ul都有“.students”和“.hidden”类。(所有.hidden属性都设置为显示:无)Javascript for循环返回数组中一个项目的单个字母,而不是数组中的每个项目,javascript,jquery,loops,Javascript,Jquery,Loops,我必须把我制作的数组保存起来。一个抓取一些锚定标签,另一个抓取一组ul标签。锚定标签都具有名称属性,ul具有与锚定标签名称属性匹配的id。除此之外,所有ul都有“.students”和“.hidden”类。(所有.hidden属性都设置为显示:无) 五年级 六年级 七年级 八年级 比利·鲍勃 鲍勃·萨卡马诺 马特·布伦特 我想做的是,当我点击其中一个锚标签时,它会将其对应的名称属性与具有相同id的ul匹配,通过删除“.hidden”类使其显示,然后通过添加“.hidden”类
- 五年级
- 六年级
- 七年级
- 八年级
- 比利·鲍勃
- 鲍勃·萨卡马诺
- 马特·布伦特
我想做的是,当我点击其中一个锚标签时,它会将其对应的名称属性与具有相同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]);
}
});
var aGradelist=$(“#等级表ul li a”);
var aStudents=$('.students');
aGradelist.单击(函数(){
var i='#'+$(this.attr('name');
$('.students'+i).removeClass('hidden');
对于(var j=0;j请尝试以下方法:
var aGradelist = $('#grade-list ul li a');
var aStudents = $('.students');
aGradelist.click(function(){
var i = '#' + $(this).attr('name');
aStudents.addClass('hidden');
$('ul' + i).removeClass('hidden');
}
这样做的目的是将hidden
类添加到所有ul
中,然后仅从该ul
中删除它,该ul
具有被单击的anchor
的id,前提是您的html有效(没有重复的id),这应该可以做到这一点
var aGradelist = $('#grade-list ul li a');
var aStudents = $('.students');
aGradelist.click(function() {
aStudents.addClass('hidden');
$('#' + $(this).attr('name')).removeClass('hidden');
});
当您对其调用方法时,jQuery会立即迭代DOM元素
此外,如果您想知道初始循环有什么问题,在检索字符串的id
属性之前,应该使用[j]
。因此要正确检索id
属性:
for(var j=0;j<aStudents.length;j++) {
console.log(aStudents[j].id);
}
for(var j=0;j)。aStudents.attr('id')
始终返回第一个元素的id属性值。[j]
访问该字符串的第j个字母。我现在正试着弄清楚如何发音“j-th”Lol…(用头敲击键盘)…我知道一旦我看到它,它最终会变得更简单。谢谢弗洛伊德兄弟。你不会相信我为了做这件事而编造的那些可笑的循环。:)你就是那个人!
for(var j=0;j<aStudents.length;j++) {
console.log(aStudents[j].id);
}