我有一个包含 5 列的表格。我在这里只显示一行:
<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
</TR>
</table>
我想创建 5 个克隆表,但在每个克隆中我只需要保留原始表的一列。
<table>
<tr>
<td>1</td>
</TR>
</table>
<table>
<tr>
<td>2</td>
</TR>
</table>
<table>
<tr>
<td>3</td>
</TR>
</table>
etc...
这是我到目前为止所得到的:
for ( var i = 0; i < 5- 1; i++ ) {
$('table:first').clone().insertAfter('table');
$('table:last tr td:not(:nth-child(i))').remove();
}
我遇到的问题是在这一行:
$('table:last tr td:not(:nth-child(i))').remove();
如何删除除此列以外的所有列?
最佳答案
你应该连接字符串,代码中的i
是字符串的一个字符,它不引用任何变量,它应该是:
$('table:last tr td:not(:nth-child('+i+'))');
试试这个:
var $tbl = $('table:first');
for ( var i = 0; i < $tbl.find('td').length; i++ ) {
$tbl.clone()
.find('td')
.not(':eq('+i+')')
.remove()
.end()
.end()
.insertAfter('table:last');
}
关于jquery - 通过循环删除表列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19505256/