选择类最近点击的按钮

问题描述:

我想单击按钮1时展开类“divtoexpand”最近的div。选择类最近点击的按钮

我该如何做到这一点?

HTML:

<div class="test"> 
    <div class="menu"> 
     <div class="button1"></div> 
    </div> 
</div> 
<div class="divtoexpand"></div> 

<div class="test"> 
    <div class="menu"> 
     <div class="button1"></div> 
    </div> 
</div> 
<div class="divtoexpand"></div> 
+0

文档http://api.jquery.com/closest/ – Herokiller 2012-08-14 07:58:13

$('.button1').on('click', function() { 
    $(this).closest('div.test').next('div.divtoexpand').slideDown(); 
}); 

DEMO

+0

如何解决这个问题呢,如果我添加测试DIV和divtoexpand之间一个新的div ? – ffffff01 2012-08-14 12:10:03

如果你需要一个更通用的方法,你可以尝试以下方法:

$('.button1').on('click', function() { 
    $(this).parents().next('.divtoexpand').slideDown(); 
}) 

DEMO

+1

除非你的DOM包含多个'.divtoexpand'元素,否则使用'.closest()'会更有效率。 'parents()'将搜索整个DOM,并将所有结果作为数组返回,而closest()将返回它找到的第一个实例。 – Jeemusu 2012-08-14 08:10:50

首先我会给你的按钮一个ID。然后,你可以做的按钮被点击时显示:

<div class="test"> 
    <div class="menu"> 
     <div class="button1" id="foo"></div> 
    </div> 
</div> 
<div class="divtoexpand" id="bar"></div> 

<script> 
    $("#foo").click(function(){ 
    $("#bar").show() 
    }); 
</script>