合并多个用 jQuery 化为 1

发布于 2025-01-07 02:04:10 字数 708 浏览 0 评论 0原文

我有一个包含 5 列的宽数据表,当用户单击“打印”链接时,该表应将第 3 个和第 4 个 td 的内容合并为 1 个 td 以节省空间。

<table>
<thead>
    <th>1</th>
    <th>2</th>
    <th>3</th>
    <th>4</th>
    <th>5</th>
</thead>
<tbody>
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
        <td>4</td>
        <td>5</td>
    </tr>
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
        <td>4</td>
        <td>5</td>
    </tr>
</tbody>
</table>

请帮忙。

I have a wide data table with 5 columns, when the user clicks on "print" link, the table should combine the content from 3rd and 4th td into 1 td to save space.

<table>
<thead>
    <th>1</th>
    <th>2</th>
    <th>3</th>
    <th>4</th>
    <th>5</th>
</thead>
<tbody>
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
        <td>4</td>
        <td>5</td>
    </tr>
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
        <td>4</td>
        <td>5</td>
    </tr>
</tbody>
</table>

Please help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

放赐 2025-01-14 02:04:10
$("tr td:nth-child(3)").each(function()
{
    var t = $(this);
    var n = t.next();
    t.html(t.html() + n.html());
    n.remove();
});
$("tr td:nth-child(3)").each(function()
{
    var t = $(this);
    var n = t.next();
    t.html(t.html() + n.html());
    n.remove();
});
2025-01-14 02:04:10

像这样快速简单...

​$('table tr > :nth-child(3)').append(function() {
    return $(this).next().remove().contents();
});​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

演示: http:// jsfiddle.net/3eDLS/

Quick and simple like this...

​$('table tr > :nth-child(3)').append(function() {
    return $(this).next().remove().contents();
});​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

DEMO: http://jsfiddle.net/3eDLS/

风尘浪孓 2025-01-14 02:04:10

像这样的东西怎么样:

$('table').find('th, td').filter(':nth-child(3)').append(function() {
    return $(this).next().html();
}).next().remove();​

演示 http://jsfiddle.net/TsA8G/1/

What about something like this:

$('table').find('th, td').filter(':nth-child(3)').append(function() {
    return $(this).next().html();
}).next().remove();​

Demo http://jsfiddle.net/TsA8G/1/

倾`听者〃 2025-01-14 02:04:10

这是一个棘手的问题。我能做的最好的事情: http://jsfiddle.net/mnbayazit/HbPrw/

$('button').click(function() {
    $('tbody tr').each(function() {
        $('td:eq(1)', this).after('<td>' + $('td:eq(2)', this).html() + $('td:eq(3)', this).html() + '</td>');
        $('td:eq(3),td:eq(4)', this).remove();
    });
});

(呃...我故意将 thead 保留原样,但现在我发现这毕竟可能是不可取的)

This was a tricky one. Best I could do: http://jsfiddle.net/mnbayazit/HbPrw/

$('button').click(function() {
    $('tbody tr').each(function() {
        $('td:eq(1)', this).after('<td>' + $('td:eq(2)', this).html() + $('td:eq(3)', this).html() + '</td>');
        $('td:eq(3),td:eq(4)', this).remove();
    });
});

(Err... I deliberately left the thead as is, but it occurs to me now that this may be undesirable after all)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文