2013-07-17 4 views
4

나는 많은 자식이있는 div입니다. jQuery을 사용하여 모두를 다른 사람 div으로 이동하려면 어떻게해야합니까?
내 코드는 다음과 같습니다jQuery 모든 어린이를 다른 div로 이동

jQuery("body").append("<div id='popupWrapper'></div>"); 
var myID = $('.FloatingFrameLightBlue1').attr('id'); 
jQuery(myID).children().append("popupWrapper"); 

그러나 그것은 작동하지 않습니다. 내가 뭘 잘못하고있어? HERE :

+1

을 당신은 확인 했나 ['으로 .Append을()'문서] (http://api.jquery.com/append/)? – nnnnnn

+0

@nnnnnn 예'jQuery' 이후 처음으로 한 요소 만 가지고'.append()'를 시도해 보았습니다. 내가'children()'과 함께 넣으려고 할 때 나는 엉망이되기 시작했다. 그것을 해결 한 방법은'appendTo()'를 사용하는 것이었다. –

답변

6

당신이 그것의 아주 간단한 예제를 가지고있다. append 대신 appendTo을 사용해야하고 이름 앞에 . 또는 #을 사용하여 선택기 유형 (클래스, id ...)을 지정해야합니다. 귀하의 경우 : #popupWrapper popupWrapper는 ID가 아니므로 클래스가 아닙니다.

3

당신은 아마도 ID

jQuery('#'+myID).children().appendTo("#popupWrapper"); 
3

예와 #을 제공하는 대신 append()appendTo()을 사용해야합니다.

"popupWrapper"라는 문자열을 어린이에게 추가하는 것은 의미가 없습니다. 다음 수행해야합니다

http://jsfiddle.net/LhR79/은 이미 당신이 말한대로 : 여기

jQuery(myID).children().appendTo("#popupWrapper"); 
5

이 시도 :

jQuery("#" + myID).children().appendTo("#popupWrapper"); 

당신이 선택에 #을 포함 할 필요는 id하여 요소를 선택합니다. 따라서 추가 작업을 수행하는 행은 jQuery(myID)이 아닌 jQuery("#" + myID)으로 시작해야하며 "#popupWrapper"이 아닌 "popupWrapper"이 필요합니다.

다른 문제는 .append() method이 원하는 작업과 반대 방향으로 작동한다는 것입니다. 즉, 매개 변수에 지정된 콘텐츠를 일치 요소 집합의 각 요소 끝에 삽입합니다. .appendTo() method을 원합니다. ,

var myID = $('.FloatingFrameLightBlue1').attr('id'); 

... 그것이 id 속성을 갖는 적어도 하나 개의 이러한 요소가 가정 클래스의 소자 (의 ID를 취득 :도

, 즉 행을 참고 그렇지 않은 경우 myIDundefined입니다.

그러나 당신은 APPEND을 수행 할 ID를 필요로하지 않는 클래스 하나의 요소가있는 가정, 당신은이 작업을 수행 할 수 있습니다

$('.FloatingFrameLightBlue1').children().appendTo("#popupWrapper"); 
관련 문제