2011-10-19 66 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。