jQuery prevAll отображение текста в обратном порядке - PullRequest
4 голосов
/ 07 июня 2010

Я пытаюсь использовать 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

Ответы [ 2 ]

8 голосов
/ 07 июня 2010

Не знаю, будет ли работать следующее:

Array.prototype.reverse.call($(".content").find("h2:first").prevAll()); 
2 голосов
/ 27 июля 2016

Мы можем просто сделать это:

$(  $(".content h2:first").prevAll().get().reverse()  ).text();

Примечание: [].reverse() - это массив javascript (здесь с элементами DOM), и вам нужно сделать его массивом jQuery$( ... ) как указано выше;Например: $( [].reverse() )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...