Jquery分离并重新连接到另一个

时间:2017-06-28 02:58:32

标签: javascript jquery

我尝试使用function copyToTableTwo(id) { var det=$('#del' + id).detach() $("#del" + id).appendTo("#table2"); } function CopyToTableThree(id) { $('#del' + id).detach() $("#del" + id).appendTo("#table3"); } 从1个表格行移动到另一个表格行 这行是分开但没有重新连接到另一张桌子 我在所有表格中都有相同的列和格式。

<table class="table table-striped" id="table1">
    <tr>
        <th>
            col 1
        </th>
        <th>
            col 2
        </th>
    </tr>
    <tr id="delMyID">
        <td>my row content</td>
        <td>my row content</td>
        <td>
            <input type="button" class="btn btn-sm btn-warning delbtn" onclick="copyToTableTwo('#delMyID')" name="name" value="detach TO next Table" />
        </td>
    </tr>
</table>

html标记

t.contractid=111111

1 个答案:

答案 0 :(得分:2)

您的函数需要是全局的才能从内联onclick属性中访问,但假设它们是我认为问题是当您调用函数时:

onclick="copyToTableTwo('#delMyID')"

...您传递了选择器'#delMyID',然后在函数中获取该值并将'#del'添加到其中:

$('#del' + id)

因此,您尝试选择$('#del#delMyID'),这当然不匹配任何元素。

只需使用id参数:

$(id).appendTo("#table2");

请注意,您根本不需要致电.detach(),因为.appendTo()方法会移动元素。

在上下文中:

&#13;
&#13;
function copyToTableTwo(id) {
  $(id).appendTo("#table2");
}
&#13;
table { border: thin black solid; margin-bottom: 20px; }
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table class="table table-striped" id="table1">
  <tr><th>col 1</th><th>col 2</th></tr>
  <tr id="delMyID">
    <td>my row content</td>
    <td>my row content</td>
    <td>
      <input type="button" onclick="copyToTableTwo('#delMyID')" name="name" value="detach TO next Table" />
    </td>
  </tr>
</table>
<table id="table2">
  <tr><td>This is</td><td>Table 2</td>
</table>
&#13;
&#13;
&#13;