如下html:<div class="welfare_list"> <ul class="title" id="tab_0"> <li> <dl class="fl">手机尾号(8909)</dl> <dl class="fr arrow"><i class="fa fa-chevron-up"></i></dl> </li> </ul> <ul class="content hide" id="content_0"> <li> <dl class="fl">设备编号:<span>21502156456254</span></dl> <dl class="fl"></dl> <dl class="fr"><a href="" class="button gray">领取</a></dl> </li> </ul></div><div class="welfare_list"> <ul class="title" id="tab_1"> <li> <dl class="fl">手机尾号(8909)</dl> <dl class="fr arrow"><i class="fa fa-chevron-up"></i></dl> </li> </ul> <ul class="content" id="content_1"> <li> <dl class="fl">设备编号:<span>21502156456254</span></dl> <dl class="fl"></dl> <dl class="fr"><a href="" class="button gray">领取</a></dl> </li> </ul></div><div class="welfare_list"> <ul class="title" id="tab_2"> <li> <dl class="fl">手机尾号(8909)</dl> <dl class="fr arrow"><i class="fa fa-chevron-up"></i></dl> </li> </ul> <ul class="content hide" id="content_2"> <li> <dl class="fl">设备编号:<span>21502156456254</span></dl> <dl class="fl"></dl> <dl class="fr"><a href="" class="button gray">领取</a></dl> </li> </ul></div>JS:$(document).ready(function(){ var tab = document.getElementsByClassName('welfare_list'); for (var i = 0; i < tab.length; i++) { $('#tab_'+i).on('click', function() { if ($('#content_'+i).is(':hidden')) { $('#content_'+i).slideDown('fast'); $('#tab_'+i+' .arrow').html('<i class="fa fa-chevron-down"></i>'); } else { $('#content_'+i).slideUp('fast'); $('#tab_'+i+' .arrow').html('<i class="fa fa-chevron-up"></i>'); } }); };});请问哪里有问题呢?这样弄,点击无效~
4 回答
慕神8447489
TA贡献1780条经验 获得超1个赞
你这样循环只会执行最后的i,
;这个元素的获取,你可以使用$(this)来 获取兄弟元素,因为$(this)只会是你当前点击的这个元素,所以获取的兄弟元素也是当前点击的元素的兄弟元素,就不要拼接字符串了
慕婉清6462132
TA贡献1804条经验 获得超2个赞
$(".welfare_list").on("click",'.title',function(){
$(this).next().toggleSlide('fast')
$(this).find('.arrow i').toggleClass('fa-chevron-down fa-chevron-up')
})
添加回答
举报
0/150
提交
取消