2013-08-25 2 views
14

임의의 요소가 포함 된 <div>이 있다고 가정 해 보겠습니다. 그러나이 고유 한 선택기로 만든 요소 중 하나 인 $('.myUniqueElement')이 있습니다. 나는 을 사용하여이 요소를 마지막으로 하위 위치에서 내 <div>으로 이동할 수 있습니까? 해결 방안은 무엇인가 ?jquery 마지막 자식 위치로 요소 이동

이것은 내 해결책입니다. 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'/> 

자바 스크립트 :

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

CSS :

.myUniqueElement{color:red;} 
+0

후 귀하의 HTML 코드 ... –

+0

이 내 해결책이야, 이거 괜찮 니?[바이올린] (http://jsfiddle.net/silverlight/RmB5K/3/) – Omid

+0

체크 아웃 나의 바이올렛 대답 –

답변

24

var mydiv = $('my-div-selector'); 
mydiv.find('.myUniqueElement').appendTo(mydiv) 

또는 단순

$('my-div').append($('.myUniqueElement')) 
+0

시도 http://jsfiddle.net/arunpjohny/6c6zr/1/ –

+0

http://jsfiddle.net/silverlight/RmB5K/3/이 정확한가요? – Omid

+1

@OMiD 예 –

-1

, 당신은 당신이 당신의 요소를 이동하려는 후 요소를 알고 있어야합니다 insertAfter()을 사용하려면 에. 그리고 당신은 당신이 무작위 요소를 가지고 있다고 말했고, 물론 당신은 현재 마지막 요소를 알지 못합니다, 그래서 여기 당신이 할 수있는 일.

이동하려는 요소를 복제하고 상위 요소에 추가하십시오.

JQuery와 코드는 다음과 같습니다

$clone_elem = $('.myUniqueElement').clone(); 
$('.myUniqueElement').remove(); 
$('div').append($clone_elem); 

체크 아웃이 fiddle

+1

괜찮습니까? http://jsfiddle.net/silverlight/RmB5K/3/ – Omid

+0

좋습니다. 해결책이있어 +1 해드립니다. –

+0

.clone은 실제로 요소를 복사하려는 경우에만 사용해야합니다. _Moving_ 요소는 복사하지 않고 손쉽게 수행됩니다. – Alnitak

-1

카스는 권리입니다. 그러나 아마이 하나가 원래의 요소가 제거되기 때문에 그것의 개선 된 버전이며,하지의 복제 ....

$elem = $('.myUniqueElement') 
    $('div').append($elem.clone()); 
    $elem.remove(); 
2

이 시도 내 솔루션이며 이것이 내가 사용할 수있는 최선의 방법이라고 생각합니다

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')) 
}); 

요점은 :last-child 이며,이 바이올린입니다 : http://jsfiddle.net/silverlight/RmB5K/3/

6

.insertAfter를 사용할 필요가 없습니다. 이 아닌을 사용하면 을 사용합니다. .clone(true)을 사용하지 않는 한 첨부 된 데이터 나 이벤트는 제거됩니다.

단순히 div에 대상 요소를 추가 .appendTo를 사용하고는 원래의 위치에서 분리하고 div의 마지막 자식으로 추가거야 :

$('.myUniqueElement').appendTo('#my-div');