Jquery select 除了下一个兄弟姐妹之外的所有人

Jquery select all except next sibling

我正在尝试 select 除了直系亲属之外的所有 <dd> 兄弟姐妹,但这不起作用..我尝试了很多方法...请告诉我什么是正确的解决这个问题的方法。

$(function(){
    //hide all dds
    $("dd:not(:first)").hide();
    $("dt").click(function(){

        //slide up all dds except for the next
        $(this).siblings("dd").not(this.next()).slideUp();
        $(this).next().slideDown("nomral");

    });
});

我尝试的另一种方法是:

$(this).siblings("dd:not(first)").slideUp();

也没有用..我想只使用 jquery 实现这个,没有额外的库...请帮忙

this 换行到 jQuery:

$(this).siblings("dd").not($(this).next()).slideUp();

为什么不先选择下一个元素,然后获取 它的 个兄弟元素?这将为您提供除下一个元素之外的所有 dd 元素。

$(this).next().siblings("dd").slideUp();

如果你还想向下滑动下一个,你可以用一根长(链)线完成所有操作:

$(this).next().slideDown().siblings("dd").slideUp();

就您的原始代码而言,以下行会给您一个错误:

$(this).siblings("dd").not(this.next()).slideUp();

...因为 this.next() 正在尝试调用 this 没有的方法。需要 $(this).next():

$(this).siblings("dd").not($(this).next()).slideUp();