2013-03-05 86 views
0

我有一個列表的記錄列表 - 一個HTML表格。如何刪除不同列的html表格的最後一列

大多數行有3列,但有些可能只有1或2.在這種情況下,我使用colspan並跨越其他列進行拉伸。

我想要做什麼: 當用戶點擊頁面上的按鈕時,我想刪除最後一列(摺疊),只有當它有多個列時。

這怎麼可能與jQuery(如果可以做到)?

+0

可以請你分享一下你試過的嗎? – supersaiyan 2013-03-05 13:28:55

回答

0

你可以這樣做,但你也應該加個班表,讓你可以選擇你想要類表。

if($('tr').length > 1) { 
    $('tr').each(function(){ 
     $("td:last").hide() 
    }) 
} 

如果添加例如類mytable的,這樣做:

if($('.myTable tr').length > 1) { 
    $('.myTable tr').each(function(){ 
     $(".myTable tr td:last").hide() 
    }) 
} 
+0

同一行中的代碼'$(「。myTable tr td:last」)。hide()' – artnikpro 2013-03-05 14:46:00

1

嘗試這樣的事情

$('tr').each(function(){ 
    $("td:last").hide() 
}) 
0

試試這個

$('tr').each(function(){ 
    $("td:last").hide(); 
}) 
+0

我不確定,但我認爲你的方法將刪除連續的唯一一列...我是否正確? – itsols 2013-03-05 14:00:35

0

我認爲你需要爲了除去最新的列前住行中的列(合併單元格)的保存數使表響應。

寫了一個小函數。沒有在行動中嘗試過

<button onclick="removeLatestCol()"></button> 

<script> 
function removeLatestCol() { 
    var latest_row = $("table tr:last"); 
    var cols = $("td", latest_row); 

    if (cols.length == 1) { 
     latest_row.remove(); 
     return; 
    } 

    var latest_col = cols.filter(":last"); 
    latest_col.prev().attr("colspan", (latest_col.prev().attr("colspan") || 1) + (latest_col.attr("colspan") || 1)); 
    latest_col.remove() 
} 
</script> 
相關問題