使用append()移动DOM元素?

bob*_*oap 9 jquery appendto

我有一个div像元素

<div id="move">Something</div>
Run Code Online (Sandbox Code Playgroud)

...我想在DOM中从一个位置移动到另一个位置.我可以这样做appendTo(),像这样:

$('#move').fadeOut(500, function() {
   $(this).appendTo('#another-container').fadeIn(500);
});
Run Code Online (Sandbox Code Playgroud)

......或者这会复制吗?

如果它是重复的,那么id在DOM 中将有两个相同的元素.我怎么能避免这个?

Rob*_*b W 15

是的,该appendTo方法从DOM树中移动元素.如果要复制元素,.clone()则使用.

例:

Body:   <div>
           <a>Test</a>
        </div>
        <span></span>
jQuery code:
   $("a").appendTo("span");

After:  <div></div>
        <span>
           <a>Test</a>
        </span>
Run Code Online (Sandbox Code Playgroud)


小智 5

我直接从jQuery文档http://api.jquery.com/append/获取了它

$( ".container" ).append( $( "h2" ) );
Run Code Online (Sandbox Code Playgroud)

“如果将以此方式选择的元素插入到DOM中其他位置的单个位置,它将被移动到目标中(未克隆):”