我正在尝试使用jQuery在我的内容中的第一个h2标记之前获取所有段落。这是我正在使用的代码:
$(".content").find("h2:first").prevAll().text()
这是抓取内容,虽然它以向后的顺序显示它。示例内容:
<div class="content">
<p>paragraph 1</p>
<p>paragraph 2</p>
<p>paragraph 3</p>
<h2>First h2 tag</h2>
<p>paragraph 4</p>
<p>paragraph 5</p>
<p>paragraph 6</p>
<h2>Second h2 tag</h2>
</div>
以上代码正在输出:
<p>paragraph 3</p>
<p>paragraph 2</p>
<p>paragraph 1</p>
有没有办法扭转这种情况,所以它的顺序是正确的?我尝试使用nextAll使用不同的代码,但它似乎抓住了我的所有内容,或者根本不工作lol
答案 0 :(得分:8)
Dunno,如果以下将起作用:
Array.prototype.reverse.call($(".content").find("h2:first").prevAll());
答案 1 :(得分:2)
我们可以这样做:
$( $(".content h2:first").prevAll().get().reverse() ).text();
注意: [].reverse()
是一个javascript数组(此处带有DOM元素),您需要将其与$( ... )
包装成jQuery数组,如上所述;例如:$( [].reverse() )