Как я могу добавить классы для всех предметов, кроме первых четырех - PullRequest
1 голос
/ 03 октября 2019

Я хочу найти в div с идентификатором CategoryBigContent все элементы с классом .interestGrid и скрыть все элементы, кроме первого 4. Я уже нашел элементы, но как добавить скрытые только во все классы, кроме первогочетыре и не всем?

$('#CategoryBigContent).find('.interestGrid').addClass("hidden");

Ответы [ 2 ]

3 голосов
/ 03 октября 2019

Джон Резиг приложил столько усилий к jQuery так много лет назад, и, похоже, никто этого не оценит. ; -)

Проблема может быть решена простым использованием его :gt() селектора!

$('#CategoryBigContent .interestGrid:gt(3)').addClass("hidden");
.hidden {
  display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="CategoryBigContent">
  <div class="interestGrid">1</div>
  <div class="interestGrid">2</div>
  <div class="interestGrid">3</div>
  <div class="interestGrid">4</div>
  <div class="interestGrid">5</div>
  <div class="interestGrid">6</div>
</div>
2 голосов
/ 03 октября 2019

Вы можете использовать функцию фильтра для фильтрации по индексу.

$('#CategoryBigContent').find('.interestGrid').filter(function(index){
  return index > 3;
}).addClass("hidden");
.hidden {
  display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="CategoryBigContent">
  <div class="interestGrid">1</div>
  <div class="interestGrid">2</div>
  <div class="interestGrid">3</div>
  <div class="interestGrid">4</div>
  <div class="interestGrid">5</div>
  <div class="interestGrid">6</div>
</div>
...