javascript - 从表中的不同行克隆图像

标签 javascript jquery html-table

我这里有这个表结构:

<table id="all-prods" class="table bordered">
  <tbody>    
    <tr class="product">
      <td>
        <img src="test" />
      </td>
      <td>Product Title</td>
      <td style="text-align:right">
        <button type="button" name="click_me">Check out the Variants!</button>
      </td>
    </tr>
    <tr style="display:none">
      <td><b>Variant:</b></td>
      <td><b>Price:</b></td>
      <td><b>Quantity:</b></td>
    </tr>
    <tr class="table-odd" style="display:none">
      <td>Variant title</td>
      <td>Variant price</td>
      <td style="text-align:right;">
        <input id="variant-x" class="quantity field"/>
        <button style="text-align:right" type="button" name="addItem">Add</button>
      </td>
    </tr>
  </tbody>
</table>

它被设计为每个产品 1 行,每个变体都有子行。 该表的内容正在被克隆到此表中:

<table id="items" class="table bordered hidden">
  <thead>
    <tr>
      <th>Item image:</th>
      <th>Item:</th>
      <th>Price:</th>
      <th>Quantity:</th>
    </tr>
  </thead>
  <tbody>
  </tbody>
</table>

我可以在此处使用此脚本克隆变体的数据:

<script>
  var clone = $(this).closest('tr').clone(true);
  clone.appendTo('#items tbody');
</script>

问题是..我找不到将产品图像复制为第二个表中的第一列的方法。

我已经尝试过:已更新 JSFiddle link方法,但似乎我找不到该元素。

更新 目前的脚本如下所示:

$("button[name='addItem']").click(function(){
    var clone = $(this).closest('tr').clone(true);
    var img = $(this).closest('tr').prev('tr').find('img').clone(true);
    img = img.wrap("<td></td>");
    img.prependTo(clone);
    clone.appendTo('#items tbody');
  })

有人可以帮忙吗?

最佳答案

prev() 方法检查前一个元素。使用 prevAll('.product:first') 获取产品行引用,然后使用 find('img')[0].outerHTMLimg 的 html.尝试如下。

$("button[name='addItem']").click(function () {
    var clone = $(this).closest('tr').clone();
    clone.prepend('<td>' + $(this).closest('tr').prevAll('.product:first').find('img')[0].outerHTML + '</td>')
    clone.appendTo('#wholesale-items tbody');
})

<强> DEMO

关于javascript - 从表中的不同行克隆图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37035566/

相关文章:

javascript - 在 jsfuck 中获取 "C"字母的替代方法

javascript - 如何操作 ul 括号

html - 是否可以使用 CSS 垂直显示表格行?

javascript - 如何遍历表格以获得下拉菜单的值?

javascript - 使用钩子(Hook)在 React 组件的多次调用之间共享可变状态

javascript - 主页最后修改日期

窗口调整大小时的 JavaScript 去抖动和限制

jquery - 如何使用 css 定位 html 区域 map

javascript - img 后的段落不会展开

javascript - Jquery Clone() 并替换文本