我有一些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循环中(这些行中有很多行)
答案 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();
});
答案 2 :(得分:1)
$(function() {
$('.slideNextSlidable').click(function() {
$(this).parent().parent().next('.slidable').hide();
});
});
第一个父级是td
,其父级是tr
!