隐藏2 h2标签之间的所有内容?

时间:2012-03-14 15:17:40

标签: javascript jquery

我有以下html代码段;

<h2>Headline 1</h2>
<p>Lorem ipsum bla bla</p>
<p>Lorem ipsum bla bla</p>
<p>Lorem ipsum bla bla</p>

<h2>Headline 2</h2>
<p>Lorem ipsum bla bla</p>

<h2>Headline 3</h2>
<p>Lorem ipsum bla bla</p>
<p>Lorem ipsum bla bla</p>

我希望以某种方式,通过jquery,定位每个“块”,这样我就可以附加一个div。 “块”是指h2 start-tag和下一个p-tag之间的所有代码,在下一个h2 start-tag之前。该部分中的最后一个h2-tag应该只取最后一个p-tag。

关于我如何做到这一点的任何建议?

2 个答案:

答案 0 :(得分:3)

尝试:

$('h2').each(function () {
    $(this).nextUntil('h2').add(this).wrapAll('<div class="foo">');
});​

http://jsfiddle.net/RUKDj/

答案 1 :(得分:0)

如果您只想隐藏两个.nextUntil之间的所有元素,请尝试使用h2

DEMO

$('h2').nextUntil('h2').hide();

如果你想阻止b / w 2 h2,那么你可以使用,

DEMO

$('h2').each (function () {
    $(this).nextUntil('h2').wrapAll('<div class="hidden">');
});