2011-10-19 65 views
1

我正在用jquery創建一個簡單的html編輯器。javascript:按類拆分html

說我有這個網站:

<div id="content"> 
    page 1 
<div class="pageBreak"></div> 
    page 2 
<div class="pageBreak"></div> 
    page 3 
</div> 

我想通過拆分我pageBreaks內容有這樣的輸出:

page1 buffer: page 1 

page2 buffer: <div class="pageBreak"></div>page 2 

page3 buffer: <div class="pageBreak"></div>page 3 

想法?

+5

'$('。pageBreak:eq(0)')。nextUntil('。pageBreak')'? – zzzzBov

+0

謝謝 - 我不知道nextUntil – CurlyFro

回答

0

由於您的頁面未包含HTML標籤(這將是解決此問題的DOM友好方式),您必須自己處理內容div中的HTML以將內容分解爲您的內容頁面。以下是一種使用正則表達式在每次分頁符時分割內容的方法。

var t = $("#content").html(); 
var pages = t.split(/<div\s+class\s*=\s*['"]?pageBreak["']?\s*>\s*<\/div>/i); 

此時,pages數組將具有每個分頁符之間的內容。

而且,工作示例:http://jsfiddle.net/jfriend00/wpyH2/

附:請注意,正則表達式試圖在這裏非常普遍,因爲瀏覽器並不總是給你回頁面中放入的相同的innerHTML。