簡體   English   中英

使用jQuery刪除多個表行

[英]Remove several table rows using jQuery

當單擊第一行中的鏈接時,我需要刪除表的三行。

這些行是使用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(),但這似乎不起作用。

獲取帶有鏈接的行,然后從那里獲取下一行並添加到jQuery對象,並一次性刪除所有三個:

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

通過首先獲取所有三行,您不會遇到要查找已刪除的行旁邊的行的問題。

只是另一個想法,你可以使用像gt這樣的選擇器。

例如:

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

應該在第一行之后刪除行。

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

應該刪除第一行

Reggards

我認為下一個()應該工作。 嘗試將引用保存到最近的tr並首先刪除其他tr,例如

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM