【问题标题】:jQuery append() only certain columnsjQuery append() 仅某些列
【发布时间】:2017-10-06 00:47:34
【问题描述】:

我的页面上有两个表格。第一个有三列,第二个有两列。第一个表的中间列是一个图像,当您单击它时,它将将该行向下移动到第二个表。目前我有

$('table td img.add').live('click', (function() {
  $('table#tblName').append( $(this).closest('tr') );
}));

哪个有效。该行从第一个表中删除并放在第二个表的底部。唯一的问题是我只想移动第一列和第三列。我尝试在第二个表中添加一个中间列,然后在页面加载时使用 jQuery 将其隐藏,但只要我添加一行,该新行就有三个单元格。

【问题讨论】:

    标签: jquery html-table append


    【解决方案1】:

    这应该可以。

    $('table td img.add').live('click', (function() {
      var parent = $(this).closest('tr');
      // remove the middle td
      $(this).closest('td').remove();
      $('table#tblName').append( parent );
    }));
    

    【讨论】:

    • 工作就像一个魅力。你能解释一下吗?当我看到它看起来像“父”正在存储 tr 的当前值时,然后在第二个语句中删除“$(this)”的 td,我假设它仍然指的是被点击的图像。然后将“parent”的值附加到第二个表中。但是中间的 td 从未从“父级”中删除。
    • 当然可以。我们基本上存储了对父级的引用,因此父级实际上并没有存储它只是指向网页中 ... 所在位置的值。然后正如你所说,我们删除了 $(this) 的 td,它确实仍然是被点击的图像。由于 parent 只是对 Dom 的引用,它不再有中间的 td。
    • 啊,我假设 $(this)... 的值存储在父级中。非常感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-04
    • 1970-01-01
    • 2012-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多