微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jQuery添加HTML表格列

我有一个这样的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>

我需要的是添加一个基于其他列的td的新列的功能。事实是,在这个HTML表格中,在添加新列之前,使用jQuery删除列,因此该函数需要获取当前的列配置并相应进行调整,因为行和列总是被删除添加

我有这个代码添加一个新的列,但它不添加标题

function addACol() {
    var currentNumberOfTDsInARow = $('.tblModel tr:first td').length;
    newColNum = currentNumberOfTDsInARow;
    var rows = $('.tblModel tbody tr');
    for (var i = 0; i < rows.length; i++) {
        var lastTDClone = $(rows[i]).find('td:last').clone();
        $(rows[i]).find('td:last').after(lastTDClone);
    }
}

解决方法

更新中…
var c = $("#myTable tr:first td").length;
$("#myTable tr:first").append("<td><a href=''>Delete</a> Col "+(c+1)+"</td>");
$("#myTable tr:gt(0)").append("<td>Col</td>");

如果您需要修正标题中的编号,可以使用the function we worked on in your previous question

原始答案…

$("#myTable tr").append("<td>New Column</td>");

或者,如果您还要添加标题,可以将上一行限制为大于0的所有TR:

$("#myTable tr:gt(0)").append("<td>New Column</td>");

标题只会在第一个TR:

$("#myTable tr:first").append("<td>Delete Column LINK</td>");

原文地址:https://www.jb51.cc/jquery/182949.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐