从行中删除一列

时间:2011-12-21 20:30:03

标签: jquery jquery-selectors

这可能是一个基本问题......但我是jquery的新手。 我需要从

下面的表格行中删除最后一列
var ptr = $(this).closest("tr")

ptr.remove("td :last") 

这是这样做的吗?

3 个答案:

答案 0 :(得分:11)

  1. 如果要删除每行中的最后一个单元格(整列)

    您可以执行以下操作

    var ptr = $("#myTable").find("tr");
    ptr.find("td:last").remove();
    

    jsFiddle Demonstration

  2. 如果您只想删除第一行中的最后一个单元格,请执行此操作

    var ptr = $("#myTable").find("tr:first");
    ptr.find("td:last").remove();
    

    jsFiddle Demonstration

  3. 无论如何,我不知道你的桌子结构如何(你的问题没有来源)。 您应该使用theadtbody进行搜索引擎优化和良好的HTML。

    <table id="myTable">
        <thead>
            <tr>
               <td>first column</td>
               <td>second column</td>
            </tr>
        </thead>
    
        <tbody>
             <tr>
               <td>first cell first row</td>
               <td>second cell first column</td>
            </tr>  
            <tr>
               <td>first cell second row</td>
               <td>second cell second column</td>
            </tr> 
        </tbody>        
    </table>
    

答案 1 :(得分:2)

您可以通过单元格从行中删除列。 例如:$("#yourTableId").find('tr')[RowNo].cells[ColumnNo].remove();

此处RowNo是您的行位置从0开始到n。 而ColumnNo是你从0到n的开始。

答案 2 :(得分:1)

您的选择器已关闭。你应该这样做:

ptr.remove("td:last");

有了空间,你基本上会要求你所有tds的所有祖先的最后一个。如果没有这个空间,你会说你想要所有最后的tds,这应该会给你最后一个td。