使用append()移动DOM元素?
我有一个 div
元素,例如
<div id="move">Something</div>
...,我想将其从 DOM 中的一个位置移动到另一个位置。我可以使用 appendTo()
来完成此操作,如下所示:
$('#move').fadeOut(500, function() {
$(this).appendTo('#another-container').fadeIn(500);
});
...或者这会重复它吗?
如果重复,DOM 中就会有两个具有相同 id
的元素。我怎样才能避免这种情况呢?
I have a div
element like
<div id="move">Something</div>
...that I'd like to move from one position to another in the DOM. Can I do this with appendTo()
, like so:
$('#move').fadeOut(500, function() {
$(this).appendTo('#another-container').fadeIn(500);
});
...or will this duplicate it?
If it's being duplicated, there would be two elements with the same id
in the DOM. How could I avoid this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
是的,
appendTo
方法从 DOM 树中移动元素。如果你想复制一个元素,可以使用.clone()
。例子:
Yes, the
appendTo
method moves elements from the DOM tree. If you want to copy an element,.clone()
is used.Example:
我直接从 jQuery 文档 http://api.jquery.com/append/
“如果以这种方式选择的元素将被插入到 DOM 中其他位置的单个位置,它将被移动到目标中(而不是克隆):”
I took it directly from jQuery documentation http://api.jquery.com/append/
"If an element selected this way is inserted into a single location elsewhere in the DOM, it will be moved into the target (not cloned):"
您可以使用
.append
或.after
或类似方法来完成此操作。将是:
因此,将第一个
.li
从.list1
移动到.list2
的代码 io/ilyanice/pen/dRpmLL" rel="nofollow noreferrer">工作笔You can do it with
.append
or.after
or similar methods.So the code to move the first
.li
from.list1
to.list2
will be:Working pen