我有一个这样的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>");
$("#myTable tr:first").append("<td>Delete Column LINK</td>");
原文地址:https://www.jb51.cc/jquery/182949.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。