jquery - 通过循环删除表列

标签 jquery

我有一个包含 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');
}

http://jsfiddle.net/v47GY/

关于jquery - 通过循环删除表列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19505256/

相关文章:

jquery - 如何在事件时更改菜单项的内容

jquery - 使用 Bootstrap Modal 确认操作

javascript - Ajax 文件上传返回状态码 0 就绪状态 0(仅有时)

javascript - 使用 Jquery 访问所有 RadCombox

javascript - 在 $ ("#string"中添加字符串)

javascript - myAudio.play() 不是一个函数

jquery - 垂直滚动div不同的速度

javascript - Bootstrap selectpicker "data-subtext"不更新实时更改

javascript - 使用 leaflet js 将单击类添加到路径

javascript - 动态添加输入值到动态添加的输入框