Как я могу выбрать теги h2 размером 50 пикселей или выше и изменить их CSS?

// Get an array of all h2 element heights
var elementHeights = $('.sub-services .sub-service__content h2').map(function() {
  return $(this).height();
}).get();

При этом я получаю массив с высотами, но как выбрать те, которые имеют 50 пикселей или более, чтобы изменить CSS?

Также следует использовать для этого .map () или .each ()? Я немного смущен. карта jQuery по сравнению с каждым

Благодарность,

1
andresgl 5 Окт 2018 в 18:06

1 ответ

Лучший ответ

Чтобы ответить на ваш титул; используйте .filter(), чтобы получить подмножество элементов, соответствующих определенным критериям:

var $H2_50Plus = $('h2').filter(function() {
  return $(this).height() >= 50;
});

$H2_50Plus.css({background:'red'}); // apply some CSS?

Вы также можете использовать .addClass(), если это поможет

var $H2_50Plus = $('h2').filter(function() {
  return $(this).height() >= 50;
});

$H2_50Plus.addClass('red');
.red {
  background: red;
}
<h2>one<br>one</h2>
<h2>two</h2>
<h2>three<br>three</h2>



<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
3
Roko C. Buljan 5 Окт 2018 в 15:12