2

单击第一行中的链接时,我需要删除表格的三行。

行是使用 jQuery 动态创建的,并预先添加到下表中,如下所示。

var ups='';
        ups+='<tr data-file='+file_id+'>';
        ups+='<td width="40%">'+gl_file_name1+'</td><td>'+gl_upload_date1+'</td>';
        ups+='<td>'+gl_upload_desc+'</td>';
        ups+='<td><a href="sym.php?doc_id='+file_id+'" class="view2_fl">VIEW FILE</a> | <a href="javascript:void(0);" data-file='+file_id+' data-job='+job_id+' class="del2_fl">DELETE</a></td></tr>';
        ups+='<tr><td>'+priority+'</td><td>'+price+'</td><td>'+tender+'</td><td>&nbsp;</td></tr>';
        ups+='<tr class="bottom-row"><td colspan="4">'+notes+'</td><tr>';

        $(ups).prependTo('.app_table');

循环的次数与“文件”的次数一样多。

当按下 DELETE 链接时,我需要删除所有三行。到目前为止,我已经设法使用下面的代码删除了第一行:

$(this).closest("tr").remove();

我曾尝试使用 .next() 但这似乎不起作用。

4

3 回答 3

4

获取带有链接的行,然后您可以从那里获取下一行并添加到 jQuery 对象,然后一次性删除所有三个:

var tr = $(this).closest("tr");
tr.add(tr.next()).add(tr.next().next()).remove();

通过首先获取所有三行,您不会遇到要查找已删除行旁边的行的问题。

于 2012-09-19T13:30:10.873 回答
3

只是另一个想法,您可以使用 gt 之类的选择器。

例如:

$('tr:gt(1)').remove()

应该删除第一行之后的行。

$('tr:eq(0)').remove()

应该删除第一行

问候

于 2012-09-19T13:34:37.173 回答
2

我认为 next() 应该可以工作。尝试保存对最近 tr 的引用并首先删除其他引用,例如

var $tr = $(this).closest("tr");
$tr.next("tr").remove();
$tr.next("tr").remove();
$tr.remove();

演示小提琴:http: //jsfiddle.net/rupw/tZMgs/

于 2012-09-19T13:29:07.537 回答