我正在使用jQuery。我有以下html片段:
<h1>Main Title</h1>
<h2>One header</h2>
<p>some text</p>
<p>more text</p>
<ul><li>a list</li></ul>
<h2>Another header</h2>
<a href="######">one link</a>
<h3>ddd</h3>
<p>eee</p>
<h2>Header 3<h2>
<p>This is a Paragraph</p>
我需要获取每个h2元素之间的内容,以便执行以下操作:
First Section text
some text
more text
Second section text
one link
ddd
eee
Third section text
This is a Paragraph
我已阅读此资源: http://www.tutorialspoint.com/jquery/jquery-selectors.htm
但仍然无法想象如何做我需要的事情。
提前致谢!
答案 0 :(得分:3)
我建议如下:
$('h2').each(function(){
var self = $(this),
// gets everything between the $(this) and the next 'h2' element:
contents = self.nextUntil('h2'),
/* creates a new div with which to wrap,
and inserts after the current $(this): */
newWrap = $('<div />').insertAfter(self);
// appends the contents to the new div element:
newWrap.append(contents);
});
虽然以上是有效的,并且用于预期用途,并说明nextUntil()
(这绝对是在这种情况下使用的方法),但我不确定如何向您展示如何实现您的目标,因为您似乎让你的用例/要求变得模糊不清。
参考文献:
答案 1 :(得分:2)
我相信nextUntil方法正是您所需要的。
答案 2 :(得分:0)
一个好的解决方案是将您要检索的内容放在带有id的<div>
标记中,并使用jQuery检索其内容,如下所示:$('#divid').text()