Как осудить эту jQuery функцию - PullRequest
0 голосов
/ 04 февраля 2020

Это часть функции индикатора выполнения [jquery -asProgress.js], пытающегося выяснить, как сжать эту функцию jquery либо через упрощенную структуру, либо, если возможно, чтобы этот запрос находил значение <100 и> 69 (не уверен, если это возможно).

<script type="text/javascript">
jQuery(function($) {
    $('.progress[data-goal="99"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="98"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="97"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="96"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="95"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="94"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="93"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="92"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="91"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="90"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="89"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="88"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="87"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="86"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="85"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="84"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="83"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="82"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="81"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="80"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="79"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="78"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="77"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="76"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="75"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="74"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="73"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="72"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="71"]').find('.progress__bar').addClass('wishlist_cash_add');
    $('.progress[data-goal="70"]').find('.progress__bar').addClass('wishlist_cash_add');
});   

Спасибо за ваше время

1 Ответ

0 голосов
/ 04 февраля 2020

Вы можете создать строку селектора, перебирая числа от 70 до 99:

let selector = '.progress[data-goal="70"]';
for (let i = 71; i <= 99; i++) {
  selector += `, .progress[data-goal="${i}"]`;
}
$(selector).find('.progress__bar').addClass('wishlist_cash_add');

Если здесь выбраны элементы только с начальным data-goal с 7, 8 или 9 вы также можете использовать синтаксис ^= («атрибут начинается с»):

$('.progress[data-goal^="7"], .progress[data-goal^="8"], .progress[data-goal^="9"]').find('.progress__bar').addClass('wishlist_cash_add');

(если у вас есть такие элементы, как data-goal="3" в одном месте, вы можете рассмотреть изменив их на data-goal="03", чтобы они имели начальный ноль)

...