jQuery删除HTML表列

Man*_*era 24 jquery html-table

我有一个像这样的HTML表格:

<table border="1">
    <tbody>
        <tr>
            <td><a href="#" class="delete">DELETE ROW</a>COL 1</td>
            <td><a href="#" class="delete">DELETE COL</a>COL 2</td>
            <td><a href="#" class="delete">DELETE COL</a>COL 3</td>
            <td><a href="#" class="delete">DELETE COL</a>COL 4</td>
            <td><a href="#" class="delete">DELETE COL</a>COL 5</td>
            <td><a href="#" class="delete">DELETE COL</a>COL 6</td>
        </tr>
        <tr>
            <td>ROW 1</td>
            <td>ROW 1</td>
            <td>ROW 1</td>
            <td>ROW 1</td>
            <td>ROW 1</td>
            <td>ROW 1</td>
        </tr>
        <tr>
            <td>ROW 2</td>
            <td>ROW 2</td>
            <td>ROW 2</td>
            <td>ROW 2</td>
            <td>ROW 2</td>
            <td>ROW 2</td>
        </tr>
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

当我点击"删除"类的链接时,我需要一个函数来删除指定的列.你能帮我吗 ?

Sam*_*son 50

几年之后,现在可能是时候更新这个问题的答案了.

// Listen for clicks on table originating from .delete element(s)
$("table").on("click", ".delete", function ( event ) {
    // Get index of parent TD among its siblings (add one for nth-child)
    var ndx = $(this).parent().index() + 1;
    // Find all TD elements with the same index
    $("td", event.delegateTarget).remove(":nth-child(" + ndx + ")");
});
Run Code Online (Sandbox Code Playgroud)


Phi*_*ert 17

通用方式(未经测试):

$("a.delete").click(function() {
   var colnum = $(this).closest("td").prevAll("td").length;

   $(this).closest("table").find("tr").find("td:eq(" + colnum + ")").remove();
}
Run Code Online (Sandbox Code Playgroud)

无需更改标记.

  • 为了让这个对我起作用,我需要做$(this).closest("table").find("tr").find("td:eq("+ colnum +")").remove(); (2认同)

Dan*_*ite 12

我就是这样做的.

为具有相同类名的列中的每个单元格分配.然后使用jQuery删除所有具有该类名的标记.