如何使用jQuery克隆一个<tr>元素但不复制数据,只复制结构?

7
有没有一种快速克隆<tr>元素但不复制其中单元格内容的方法?简单来说,就是创建一个纯粹的<tr>元素,只有和原来的结构相同。

你是指深拷贝还是浅拷贝? - Frédéric Hamidi
你所说的深度克隆,是指表格单元格内的所有子元素吗? - pencilCake
1个回答

12

如果您想要一个不包含文本内容的元素深克隆,可以编写类似以下代码:

var $cloned = $("tr").clone().children().text("").end();

不错呀 - end() 最后的结束是做什么用的? - Shadow The Spring Wizard
1
@Shadow Wizard,它在这里,所以$cloned将引用克隆的<tr>元素,而不是由find("*")匹配的元素。 - Frédéric Hamidi
这会返回原始状态下的 tr,即带有原始文本吗?阅读此内容感到困惑 http://api.jquery.com/end/ - Jishnu A P
1
@TheSuperTramp,它将返回克隆的<tr>元素,但不包括原始文本。end()仅允许将匹配的元素集还原为其先前的状态。您可以将该行翻译为匹配表格行,克隆它,然后匹配所有其(克隆的)后代,将它们的内部文本设置为空字符串,然后忘记它们并返回克隆的表格行,并返回它 - Frédéric Hamidi
谢谢,我又学到了一件事...为了消除任何疑虑,这里有一个实时测试案例:http://jsfiddle.net/Tysb7/ - Shadow The Spring Wizard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接