2011-04-12 60 views
1

任何人都可以給我一些想法如何在每個<h2>標籤之後用<div>包裝任何內容,並給它一個唯一的id,用jquery完成?在每個h2之後用div封裝內容

我試着這樣做:

<h2>Test</h2> 
<div id="wrap_1"> // This is the wrapper im trying to add 
    <p>Bla bla</p> 
    <p>More Bla bla</p> 
</div> 
<h2>Another test</h2> 
<div id="wrap_2"> // This is the wrapper im trying to add 
    <p>Bla bla</p> 
    <p>More Bla bla</p> 
</div> 

在此先感謝

+0

爲什麼你需要的唯一ID的? – SLaks 2011-04-12 13:22:01

回答

6

像這樣:

$('h2').each(function(index) { 
    $(this).nextUntil('h2').wrapAll('<div id="wrap' + index + '"></div>'); 
}); 

Demo

+0

除第一個''next()''外,其他工作。它不應該在那裏。 @SLaks:你正在跳過應該通過jQuery添加的''div''。我用@SLaks代碼和我的更改創建了這個jsfiddle:http://jsfiddle.net/marcosfromero/d2aQn/ – marcosfromero 2011-04-12 13:36:11

+0

@marco:是的;我只是修復了這個問題並做了我自己的演示。我錯誤地認爲'nextUlt'包含了當前元素。 – SLaks 2011-04-12 13:36:57

+0

謝謝你們!但在我的測試頁面看起來很奇怪。他把兩個div而不是一個!像這樣'代碼

TEst

' – dutraveller 2011-04-12 13:44:51