我正在尝试选择所有<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实现这个,没有额外的库...请帮助
答案 0 :(得分:0)
将this
包装到jQuery:
$(this).siblings("dd").not($(this).next()).slideUp();
答案 1 :(得分:0)
为什么不首先选择下一个元素然后获取其兄弟姐妹?那会给你所有的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();