删除包含表的表行

时间:2011-06-27 10:00:15

标签: javascript jquery

我有html,显示类似于:

的表格
<table>
<tr>
    <th>col1</th>
    <th>col2</ht>
</tr>
<tr>
    <td>0001</td>
    <td>Test</td>
</tr>
<tr>
    <td colspan="2" id="detailsTable">
        <table>
            <tr>
                <th>one</th>
                <th>two</th>
            </tr>
            <tr>
                <td>xxxxxx</td>
                <td>xxxxxxx</td>
            </tr>               
        </table>
    </td>
</tr>

外表上有一列展开和收缩按钮,只有当用户点击展开时才会显示嵌套表。

展开工作并显示表格。但是,当我尝试从包含子表的外部表中删除该行时,它不起作用。

我的代码如下:

var rowIndex = $(this).parent().parent().prevAll().length;
$("table[id$=gvParentAccounts] tr").eq(rowIndex + 1).remove();

如果行只包含文本,它会按照我的意愿运行并删除该行,但是如果在这种情况下该行包含一个表,则无法根据需要删除该行。

我正在使用ASP.Net和jQuery。

由于 艾伦。

1 个答案:

答案 0 :(得分:3)

怎么样:

$(this).parent().parent().remove();

我不确定这是否与您的完全相同,但这是一个证明它有效的JSFiddle:

http://jsfiddle.net/9TQG9/1/

编辑:其实这个:

$(this).parents("tr").eq(0).remove();

会更好,更可靠。见这里:

http://jsfiddle.net/9TQG9/2/