如何部分克隆一行

时间:2014-07-23 05:34:52

标签: jquery

我有一张桌子,其中有很多列。

使用我当前的代码,我克隆了最后一行的所有内容。

 $("#tTable tbody tr:last").clone(true).insertBefore($("#tTable tbody tr:last")).show();

如何修改此代码以复制除元素以外的所有内容: lList,cSpan及其子代?

<table id="tTable">
    <tbody>
    <tr>
    <td>
                <select id="lList" class="listClass">

                <option value="0">(select here)</option>
                <span class="cSpan"><input title="custom" class="custom-combobox-input ui-autocomplete-input" autocomplete="off">
                <a class="comboboxButton ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only custom-combobox-toggle" tabindex="-1" role="button"><span class="ui-button-text"></span></a>
                <div id="labelDiv"><label id="displayComboBoxText"></label>/div>
                <input id="ID" name="ID" type="hidden" value="">

    </td>
    </tr>
    </tbody>
</table>

2 个答案:

答案 0 :(得分:2)

使用查找选择器查找td of first然后将其删除

 var row=$("#tTable tbody tr:last").clone(true).find("td:first").remove().end();

答案 1 :(得分:0)

这个对我有用:Fiddle

var tr = $("#tTable tbody tr:last");
var trCopy = tr.clone(true);

trCopy.find("td:first").remove();

trCopy.insertBefore(tr).show();

.remove()函数(至少在jQuery 2.1.0中)将所选元素作为副作用删除并返回选择。

要清空所选列的内容而不将其删除,请使用html("")

trCopy.find("td:first").html("");