Let's say I have a <div>
that contains some random elements, but there is one element I've created with this unique selector : $('.myUniqueElement')
. I want to use .insertAfter()
to move this element at last child position in my <div>
is that possible ? what is the solution ?
This is my solution: http://jsfiddle.net/silverlight/RmB5K/3/ is this OK ??
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'/>
Javascript:
$('#b').on('click',function(){
$('.myUniqueElement').insertAfter($('.p :last-child'))
});
CSS:
.myUniqueElement{color:red;}
Try
var mydiv = $('my-div-selector');
mydiv.find('.myUniqueElement').appendTo(mydiv)
or simple
$('my-div').append($('.myUniqueElement'))
There is no need to use .insertAfter
. You should also not use .clone
as it'll remove any attached data or events, unless you use .clone(true)
.
Simply use .appendTo
to add the target element to the div
and it'll get detached from its original position and added as the last child of the div
:
$('.myUniqueElement').appendTo('#my-div');
This is my solution and I think this is the best way I can use .insertAfter()
:
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'/>
jquery:
$('#b').on('click',function(){
$('.myUniqueElement').insertAfter($('.p :last-child'))
});
The point is :last-child
and this is the fiddle:
http://jsfiddle.net/silverlight/RmB5K/3/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With