Jquery 使用子类切换列表

Jquery 使用子类切换列表,jquery,toggle,Jquery,Toggle,切换不适用于子类(.open),它适用于主标记(li) 我遗漏了什么 jQuery方法获取紧跟其后的同级 问题:您的.open元素没有ul同级元素 建议的解决方案:转到父级li,然后使用将针对ul兄弟的.next(): $(this).parent().next('ul').toggle(); //Or $(this).parents('li').next('ul').toggle(); 希望这有帮助 $('.open')。单击(函数(){ $(this.parent().next('ul

切换不适用于子类(
.open
),它适用于主标记(
li

我遗漏了什么

jQuery方法获取紧跟其后的同级

问题:您的
.open
元素没有
ul
同级元素

建议的解决方案:转到父级
li
,然后使用将针对
ul
兄弟的
.next()

$(this).parent().next('ul').toggle();
//Or
$(this).parents('li').next('ul').toggle();
希望这有帮助

$('.open')。单击(函数(){
$(this.parent().next('ul').toggle();
});

  • 11111111开放
    • 1.1
    • 1.2
  • 22222222打开
    • 2.1
    • 2.2
使用
.closest()
获取最近的元素li
。下一步()
选择dom中的立即ul元素

$('.open').click(function() {
    $(this).closest('li').next('ul').toggle();
});

获取
项目的父
li
元素。打开
,然后获取该部分项目的下一个
li
元素

$('.open').click(function() {
    $(this).parent('li').next('ul').toggle();
});
当您放入
$(this).next('ul').toggle()时
它指向.open对象所在的
  • 内的下一个ul,但那里没有

    为此,您应该使用target指向父级
  • ,然后指向它后面的下一个

    代码应该是这样的:

    $('.open').click(function() {
        $(this).parent().next('ul').toggle();
    });
    
    $('.open').click(function() {
        $(this).parent().next('ul').toggle();
    });