查找要使用Jquery按类单击的链接的下一个元素

时间:2012-11-19 15:47:55

标签: jquery

我有一些HTML标记,如下所示:

 <tr>
    <td>
        <a href="javascript:void(0)" class="slideNextSlidable">Click Here</a>
    </td>
</tr>
<tr class="slidable">
    <td>
    <p>Hide me</p>
    </td>
</tr>

我的javascript / jquery:

$(function() {
    $('.slideNextSlidable').click(function() {
        $(this).parent().next('.slidable').hide();
    });
});​

但是,这似乎不是.slidable tr

我正在尝试隐藏下一个(或最接近)点击的.slidable链接的.slideNextSlidable行。

这嵌套在foreach循环中(这些行中有很多行)

请参阅小提琴:http://jsfiddle.net/alexjamesbrown/Zx5sR/

3 个答案:

答案 0 :(得分:3)

好像你正在寻找$.closest()。来自jQuery API文档:

  

对于集合中的每个元素,通过测试元素本身并遍历DOM树中的祖先来获取与选择器匹配的第一个元素。

然后简单地说:

$('.slideNextSlidable').click(function() {
    $(this).closest('tr').next('.slidable').hide();
});

答案 1 :(得分:1)

尝试.closest()

$('.slideNextSlidable').click(function() {
    $(this).closest('tr').next('.slidable').hide();
});

DEMO

答案 2 :(得分:1)

$(function() {
    $('.slideNextSlidable').click(function() {
        $(this).parent().parent().next('.slidable').hide();
    });
});

第一个父级是td,其父级是tr