2011-10-18 44 views
3

我有一個表,我有兩個按鈕來添加和刪除表中的行。刪除表的最後3行

所以添加行很簡單(我每次都通過ajax獲得3行)。

現在我希望能夠通過點擊刪除按鈕 刪除最後3行的表,所以除非有某種功能或....刪除我的表最近添加!我需要刪除自己

$('#tbl tr:lt(3)').remove(); 

但去年3不是第一批表的最後三行!

或我必須做一些愚蠢像

function remove(){ 
var i ; 
for(i=0 ; i < 3 ; i++){ 
$('#table tr:last').remove(); 
} 
alert('removed'); 
} 

回答

7
$("table tr").slice(-3).remove(); 
+0

感謝名單克里斯我還有一個問題,爲什麼這個無效: var row_count = $(this).parent()。siblings('table tr')。length; 我可以得到這樣的桌子,但我不能得到trs – max

+0

駭人聽聞! HTML表格元素有一個行集合,最簡單和最快捷的方式(如果你必須使用jQuery)應該是'$(#tableId)[0] .rows.length'或類似的。 – RobG

+0

thanx現在工作有沒有辦法刪除最後3行使用$ this對象($ this引用按鈕)? $(this).parent()。siblings('table tr')。slice(-3).remove(); – max

2

這不是很愚蠢的,這是一個很好的解決方法。清理它,我會用

function remove(){ 
    $('#table tr:last').remove(); 
    $('#table tr:last').remove(); 
    $('#table tr:last').remove(); 
    alert('removed'); 
} 
0

我同意,這不是愚蠢的。但是,如果我是你,我會加一個參數,行數刪除:

function removeLastRows(numberOfRows){ 
    var i ; 
    for(i=0 ; i < numberOfRows ; i++){ 
     $('#table tr:last').remove(); 
    } 
    alert('removed'); 
} 
0

只是爲了簡單的JS比較,

function removeLastRows(table, n) { 
    if (!table || !n) return; 
    var row, rows = table.rows; 
    while (n--) { 
    row = rows[rows.length]; 
    row.parentNode.removeChild(row); 
    } 
} 

removeLastRows(document.getElementById('table', 3));