我有一张表,包含行,包含细胞 - 其中一些包含img,如下所示:
<img id="FormView1_btnSave_row1%1%new" style="border-width: 0px; cursor: pointer;"
src="grafik/ok_16x16.gif" onclick="cleverStuff(this)"/>
在函数cleverStuff中我想在单击按钮的行之后的行上操作 - 这个特殊按钮仅包含在最后一行可见行中,下面有一堆隐藏行我希望使第一条隐藏线可见 - 但我未能到达下一行。
我的理解是parent()
和next()
的所有组合都可以用来从img到td,到tr,最后到下一个tr。
所以我试着验证这个:
$(ctrl).attr('id')
正确返回img的id:)
$(ctrl).parent().attr('id')
返回NULL。
我在这里缺少什么?
答案 0 :(得分:73)
这应该给你元素的封闭tr,即使它不是元素的直接父元素,然后是该行的下一行。如果你在td内的元素上使用parent,它将为你提供列,而不是行。向parent()方法提供过滤器将简单地过滤掉父项,除非它恰好与过滤器匹配,通常导致没有匹配的元素。最近的可能就是你想要的,但是如果你有嵌套的表并且想要外行而不是内行,则可能需要parent('tr')。
$(this).closest('tr').next('tr')
答案 1 :(得分:32)
你没有向我们展示足够的HTML,但这应该有效:
$(ctrl).parent('tr').next();
答案 2 :(得分:5)
也许父元素没有设置id?要从图像到达下一行,我相信你可以做到:
$(this).parent('tr').next('tr')
答案 3 :(得分:1)
我希望你能用
jQuery(this).parents('tr');