我正在尝试使用jQuery在我的内容中的第一个h2标记之前获取所有段落.这是我正在使用的代码:
$(".content").find("h2:first").prevAll().text()
Run Code Online (Sandbox Code Playgroud)
这是抓取内容,虽然它以向后的顺序显示它.示例内容:
<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>
Run Code Online (Sandbox Code Playgroud)
上面的代码正在输出:
<p>paragraph 3</p>
<p>paragraph 2</p>
<p>paragraph 1</p>
Run Code Online (Sandbox Code Playgroud)
有没有办法扭转这种情况,所以它的顺序是正确的?我尝试使用不同的代码使用nextAll,但它似乎抓住了我的所有内容,或者根本不工作lol
Dunno如果以下将工作:
Array.prototype.reverse.call($(".content").find("h2:first").prevAll());
Run Code Online (Sandbox Code Playgroud)
我们可以这样做:
$( $(".content h2:first").prevAll().get().reverse() ).text();
Run Code Online (Sandbox Code Playgroud)
注意: [].reverse()是一个 javascript 数组(此处包含 DOM 元素),您需要将其设为 jQuery 数组,$( ... )如上面所示;例如:$( [].reverse() )