单击按钮时选择最近的特定类

时间:2012-08-15 07:27:13

标签: jquery dom-traversal

我最近问过同样的问题,但是这个问题有点扭曲,所以我之前提出的问题的答案都没有用,我的评论也没有得到任何答案。

正如标题所说,我想在点击button1时选择最近的divtoexpand类。

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

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

旧代码:

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

当测试div和divtoexpand之间存在div时,这将不起作用。

有什么建议吗?

3 个答案:

答案 0 :(得分:4)

假设你想要.divtoexpand 跟随 .button1的祖先,那么你几乎就在那里:

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

答案 1 :(得分:0)

尝试:

$(this).parent().parent().next().next('.divtoexpand').slideDown();

SEE DEMO

答案 2 :(得分:0)

更改

$(this).closest('div.test').next('div.divtoexpand').slideDown();

$(this).closest('div.test').nextAll('div.divtoexpand').slideDown();

Refer