我有一张桌子,我希望在没有孩子的情况下克隆它。请注意,为简洁起见,我简化了标记,该表有许多属性和事件处理程序,我也想复制它。
<table data-x="..." class="a b c">
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
.
.
.
</table>
我不想复制所有内容然后删除孩子,我不确定,但我觉得它效率不高。
答案 0 :(得分:7)
我不认为你可以在没有使用jQuery
的孩子的情况下克隆元素,但你可以使用纯JavaScript来实现。 node.cloneNode()
。这不会复制附加的事件侦听器
答案 1 :(得分:3)
我认为你应该使用cloneNode()
var $table = $('table');
var clone = $table[0].cloneNode(); //without deep property
演示:Fiddle
注意:任何jQuery侦听器和相关数据都不会被复制
答案 2 :(得分:-1)
您可以使用jQuery .clone()
轻松完成:
var $new_table = $('table').clone();
$newtable.html(''); // which returns <table></table>
答案 3 :(得分:-1)
如果我认为那么您可以使用jquery创建一个新表。由于您没有提供您正在使用的代码,我给您举个例子。
<div id='tabdiv'>
</div>
简单的jquery代码:
$('#tabdiv').html('<table></table');
这将使用此新表
在div中创建一个新的空表答案 4 :(得分:-1)
试试这个:如果你不需要它们,你可以删除它们。
var newtable = $('table').clone();
newtable.find('tr').remove(); // or you can remove anything you want to remove from it
现在在新表中,您将拥有没有任何行的表。 希望这有效。