jQuery:找到下一个表格行

时间:2009-11-02 15:50:40

标签: javascript traversal

我有一张表,包含行,包含细胞 - 其中一些包含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。

我在这里缺少什么?

4 个答案:

答案 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');