2011-10-14 3 views
1

제목과 마찬가지로 div의 일부 div를 래핑해야합니다. 여기에 HTML이 있습니다. 내가로 출력 싶은 것이 지금jQuery로 래퍼 div에 div를 래핑하십시오.

<div class="something1 message"> 
<span class="message-text">This is notification 1</span> 
<input type="text" /> 
</div> 

<div class="something2 message"> 
<span class="message-text">There can be multiple texts like this</span> 
<span class="message-text">There can be multiple texts like this</span> 
<span class="message-text">There can be multiple texts like this</span> 
<input type="text" /> 
</div> 

<div id="content-wrapper" class"message"> 
<span class="message-text">Anotherexample</span> 
<span class="message-text">There can be multiple texts like this</span> 
<input type="text" /> 
</div> 

:

invidual 메시지 사업부의 내부에있는 모든 "메시지 텍스트"스팬는 것 우리가 내부 메시지 텍스트 wrappe를 포장하는 것이 기본적으로
<div class="something1 message"> 
<div class="message-text-wrapper"> 
    <span class="message-text">This is notification 1</span> 
</div> 
    <input type="text" /> 
    </div> 

    <div class="something2 message"> 
<div class="message-text-wrapper"> 
    <span class="message-text">There can be multiple texts like this</span> 
    <span class="message-text">There can be multiple texts like this</span> 
    <span class="message-text">There can be multiple texts like this</span> 
</div> 
    <input type="text" /> 
    </div> 

    <div id="content-wrapper" class"message"> 
<div class="message-text-wrapper"> 
    <span class="message-text">Anotherexample</span> 
    <span class="message-text">There can be multiple texts like this</span> 
</div> 
    <input type="text" /> 
    </div> 

div.

바라건대 understant.

+0

당신이'하나의 span' 또는 '여러 spans'을 포장 하시겠습니까, 당신이 모두 혼합있어 보인다. – Deeptechtons

답변

1

이 방법이 유용합니까? 그것은 테스트되지 않았습니다. 그러나 뭔가 ... 이런 식으로

$('.message-text:nth-child(1)').each(function(){ 
$(this).nextAll('.message-text').andSelf().wrapAll("<div class='message-text-wrapper'></div>"); 
}): 
+0

거의 작동합니다. 두 개의 메시지 텍스트 래퍼를 만들고 다른 하나는 모든 것을 래핑합니다. – user995317

+0

작은 변화로 작동했습니다. 감사! – user995317

+0

내 답변을 업데이트 할 수 있도록 변경된 내용은 무엇입니까? –

4

사용 jQuery's wrapAll() function :

$('.message-text').wrapAll("<div class='message-text-wrapper' />"); 

여기 a working fiddle입니다.

편집 : 코멘트에있는 당신의 지침에 따라

, 아래의 코드는 사업부의 개별 요소를 바꿈됩니다. 바이올린도 업데이트되었습니다.

$('.message-text').wrap("<div class='message-text-wrapper' />"); 
+0

예, 실제로 이것을 시도한 적이 있지만 모든 래퍼를 래핑합니다. 출력물에 내가 갖고 싶은 것은 여러 개의 서로 다른 래퍼입니다. – user995317

+0

@ user995317, 나는 요구 사항을 잘못 이해했다. 위의 편집을 참조하십시오. –

관련 문제