我想将slideToggle
仅应用于最接近触发器图像的类。我不希望有多个ID来运行slideToggle
的多个版本。
我尝试使用.closest
,但无济于事
答案 0 :(得分:2)
应该这样做:
$('.image').click(function(){
$(this).parents('section').find('.content').slideToggle();
});
答案 1 :(得分:2)
$('.image').click(function(){
$(this).parent().next().slideToggle();
});
.content
不是下一项
$('.image').click(function(){
$(this).closest('section').find('.content').slideToggle();
});
答案 2 :(得分:0)
尝试:
$('.image').click(function(){
$(this).parent().next('.content').slideToggle();
});
<强> jsFiddle example 强>
单独 .closest()
将不起作用,因为它只在DOM中查找。您需要将一个级别上升到<h3>
元素,然后选择下一个元素<div class="content">
。您也可以在我的示例中替换.closest('h3')
.parent()
。此外,在您的情况下,.next('.content')
将等同于.next()
。
答案 3 :(得分:0)
.closest
不是您图片的父级。试试这个:
$(this).closest('section').find('.content').slideToggle();
答案 4 :(得分:0)