为了账号安全,请及时绑定邮箱和手机立即绑定

关于多个DIV展开收缩,请教有哪些的不对?点击无效

关于多个DIV展开收缩,请教有哪些的不对?点击无效

Qyouu 2019-03-12 17:13:01
如下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,
https://img1.sycdn.imooc.com//5c947f0500015ab401180019.jpg

;这个元素的获取,你可以使用$(this)来 获取兄弟元素,因为$(this)只会是你当前点击的这个元素,所以获取的兄弟元素也是当前点击的元素的兄弟元素,就不要拼接字符串了

查看完整回答
反对 回复 2019-03-22
?
慕工程0101907

TA贡献1887条经验 获得超5个赞

你好 jq的 toggleSlide()是不是被弃用了?如果没有,可以用这个方法


查看完整回答
反对 回复 2019-03-22
?
慕婉清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')

})


查看完整回答
反对 回复 2019-03-22
?
守着星空守着你

TA贡献1799条经验 获得超8个赞

slideToggle() 吧


查看完整回答
反对 回复 2019-03-22
  • 4 回答
  • 0 关注
  • 666 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信