使用JQuery选择两个节点之间所有节点办法

今天练习代码的时候遇到了一个小问题,在做栏目列表的伸缩显示的功能的时候,点击顶级的栏目无法将其二级的子栏目隐藏起来 (就是其子栏目的子栏目),教程的上使用的是利用ajax去查询点击栏目的所有子栏目 在逐一隐藏,自己想到了一个只用jQuery实现的方法
        // 栏目伸缩
        $('tr[pid != 0]').hide();
        $('i#open').click(function(){
            if ($(this).attr('class') == 'typcn typcn-plus') {
                $(this).removeClass().addClass('typcn typcn-minus');
                var id = $(this).parents('tr').attr('id');
                $('tr[pid = '+id+']').show();
            }else {
                $(this).removeClass().addClass('typcn typcn-plus');
                var id = $(this).parents('tr').attr('id');
                var sonCate = $(this).parents('tr').nextAll('tr');
                sonCate.each(function(k,v){
                    if ($(v).attr('pid') == 0) {
                        return false;
                    }
                    $(v).find('i#open').removeClass().addClass('typcn typcn-plus');
                    $(v).hide();
                });
            }
        });
大致的思路就是获取点击栏目之后的所有非顶级栏目,循环隐藏,当遇到顶级栏目的时候跳出循环,即可达到相同的目的
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值