jquery将元素移动到最后的子位置

Omi*_*mid 25 html jquery dom

假设我有一个<div>包含一些随机元素,但是我用这个独特的选择器创建了一个元素:$('.myUniqueElement').我想用它.insertAfter()来移动这个元素在我的最后一个孩子的位置<div>是可能的吗?解决办法是什么 ?

这是我的解决方案:http://jsfiddle.net/silverlight/RmB5K/3/这样可以吗?

HTML:

<div class='p'>
    <div class='myUniqueElement'>unique</div>
    <div>item</div>
    <div>item</div>
    <div>item</div>
</div>
<input type='button' id='b' value='Do'/>
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

$('#b').on('click',function(){
    $('.myUniqueElement').insertAfter($('.p :last-child'))
});
Run Code Online (Sandbox Code Playgroud)

CSS:

.myUniqueElement{color:red;}
Run Code Online (Sandbox Code Playgroud)

Aru*_*hny 41

尝试

var mydiv = $('my-div-selector');
mydiv.find('.myUniqueElement').appendTo(mydiv)
Run Code Online (Sandbox Code Playgroud)

或者简单

$('my-div').append($('.myUniqueElement'))
Run Code Online (Sandbox Code Playgroud)


Aln*_*tak 9

没有必要使用.insertAfter.你也应该不使用.clone,因为它会删除所有已连接的数据或事件,除非你使用.clone(true).

只需使用.appendTo将目标元素添加到它div,它将从原始位置分离并添加为以下的最后一个子元素div:

$('.myUniqueElement').appendTo('#my-div');
Run Code Online (Sandbox Code Playgroud)