我有一个表格,包含行,包含连续的单元格-其中一些包含一个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。
这里我漏掉了什么?
发布于 2009-11-02 23:58:19
这应该会给出元素的封闭tr,即使它不是元素的直接父元素,那么该行也是下一行。如果您在td内的元素上使用parent,它将给出列,而不是行。向parent()方法提供过滤器将只过滤掉父元素,除非恰好与过滤器匹配,这通常会导致没有匹配的元素。Closest可能是您想要的,但如果您有嵌套表并且希望外部行而不是内部行,则可能需要父级(‘tr’)。
$(this).closest('tr').next('tr')
发布于 2009-11-02 23:53:06
您并没有向我们展示足够的HTML,但这应该是可行的:
$(ctrl).parent('tr').next();
发布于 2009-11-02 23:55:00
也许父元素没有设置它的id?要从图像转到下一行,我相信您可以这样做:
$(this).parent('tr').next('tr')
https://stackoverflow.com/questions/1662092
复制相似问题