2014-11-10 6 views
0

WrapAll()에 대한 질문이 있습니다. 지금까지 내가이 코드를 가지고있다jQuery : 한 div의 모든 요소를 ​​다른 div로 묶기

<div id="firstDivContainer"> 
    <div class="element">stuff</div> 
    <div class="accordion">stuff</div> 
    <div class="accordion">stuff</div> 
    <div class="accordion">stuff</div> 
</div> 

<div id="secondDivContainer"> 
    <div class="element">stuff</div> 
    <div class="accordion">stuff</div> 
    <div class="accordion">stuff</div> 
    <div class="accordion">stuff</div> 
    <div class="element">stuff</div> 
</div> 

그리고 나는 첫 번째 세트의 아코디언을 감싸고 싶다. 그래서

if($('#firstDivContainer').find('.accordion').length != 0) { 
    $(".accordion").wrapAll("<div id='accordionBox' />"); 
} 

과 같이 시도했지만 두 번째 세트에서 아코디언을 제거하고 첫 번째 세트에 추가합니다. 결과는

<div id="firstDivContainer"> 
    <div class="element">stuff</div> 
    <div id="accordionBox"> 
     <div class="accordion">stuff</div> 
     <div class="accordion">stuff</div> 
     <div class="accordion">stuff</div>  
    </div> 
</div> 
<div id="secondDivContainer"> 
    <div class="element">stuff</div> 
    <div class="accordion">stuff</div> 
    <div class="accordion">stuff</div> 
    <div class="accordion">stuff</div> 
    <div class="element">stuff</div> 
</div> 

해야하지만, 대신에 내가 솔루션 그냥 사소한 변화를 추측하지만 현재이 ... dratz 붙어있어

<div id="firstDivContainer"> 
    <div class="element">stuff</div> 
    <div id="accordionBox"> 
     <div class="accordion">stuff</div> 
     <div class="accordion">stuff</div> 
     <div class="accordion">stuff</div> 
     <div class="accordion">stuff</div> 
     <div class="accordion">stuff</div> 
     <div class="accordion">stuff</div> 
    </div> 
</div> 
<div id="secondDivContainer"> 
    <div class="element">stuff</div> 
    <div class="element">stuff</div> 
</div> 

을 얻었다. 어떤 아이디어?

감사합니다.

답변

2

는 단순히 초기 선택 범위를 좁힐. 고마워.
+0

최고 : 당신은 단지 #firstDivContainer 내부 .accordion들 선택되도록 – TZP

1

$("#firstDivContainer .accordion").wrapAll("<div id='accordionBox' />");해야합니다.

$("#firstDivContainer .accordion").wrapAll("<div id='accordionBox' />"); 

JSFiddle