首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于Jquery Append函数

关于Jquery Append函数
EN

Stack Overflow用户
提问于 2010-02-06 17:26:59
回答 3查看 177关注 0票数 0

让我们假设您有一个表和以下Jquery代码

代码语言:javascript
复制
var rows = $('#ttable').find('tbody > tr').get();
$('#ttable tbody').append(rows[1]);

Right对象获取所有的"tr“。第二行将把row1附加到表体,所以您应该在表的末尾获得它。

它工作得很好,但是原始行消失了。为什么?这意味着,行不会重复,它只是移动。为什么?如何解决这个问题??

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-02-06 17:40:18

jQuery的append函数在幕后使用Node.appendChild(),因此其行为也是一样的

来自MDC

将节点添加到指定父节点的子节点列表的末尾。如果该节点已经存在,则将其从当前父节点中删除,然后添加到新的父节点中。

因此,就像cobbal所说的,您必须克隆行并附加克隆

票数 0
EN

Stack Overflow用户

发布于 2010-02-06 17:30:32

如果你先克隆它,它会做你想做的:

代码语言:javascript
复制
var rows = $('#ttable').find('tbody > tr');
$('#ttable tbody').append(rows.eq(1).clone());
票数 3
EN

Stack Overflow用户

发布于 2010-02-06 17:30:26

可能是因为rows1引用了一个已经插入at表并在DOM中注册的对象。尝试克隆该对象并将其添加为新对象。

或者您可以像这样尝试smth:

代码语言:javascript
复制
$('#ttable tr:first').before('<tr>...</tr>')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2212650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档