我想在div中划分元素的内容。分隔符是<hr/>
,所有打开的标签都应该在关闭 div 之前关闭,并且(如果需要)在重新打开的 div 标记之后重新打开。我幼稚的想法是用 jQuery 遍历子元素,在此之前替换所有出现的<hr/>
with</div><div>
并关闭所有打开的标签(直到一定级别)。我不知道如何重新打开它们。
例子:
<div id="content">
<p>Bla some text
<hr/>
Some more text
</p>
</div>
会变成:
<div id="content">
<div>
<p>Bla some text
</p>
</div><div>
<p>Some more text
</p>
</div>
</div>
我的想法是简单地按出现顺序访问每个标签,当它们打开时将它们添加到堆栈中,当它们再次关闭时将它们删除,如果我找到分隔符,关闭堆栈中的所有标签(但不要'不要删除它们),插入<div/>
标签,以相反的顺序重新打开堆栈上的所有标签。继续直到结束并关闭所有仍然打开的标签。
这样做的目的是将文本分块成预定义的部分。它用于文本分页,div 是页面。我希望用户能够手动指定中断,即使在 ul、p 等内部也是如此。
任何帮助表示赞赏。