jQuery Несколько Ifs - PullRequest
       1

jQuery Несколько Ifs

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

Я хочу иметь возможность что-то проверить, существует ли где-то класс CSS и что-то сделать, а затем проверить, существует ли где-то другой класс CSS и что-то сделать. Поэтому, если .bp2 существует, сделайте это, но также проверьте, существует ли .bp3, и если это так, сделайте это другим способом. Им не нужно оба существовать, и если первое существует, второе все равно должно проверить себя и запустить тоже. Нужно ли просто копировать / вставлять этот код каждый раз или есть способ сжать все это вместе?

$('.lot2').click(function () {
    if ($('.bp2').hasClass('showbp')) {
        $('.bp2').removeClass('showbp');
    } else {
        $('.bp2').addClass('showbp');
    }
});

1 Ответ

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

Вы можете выполнить несколько операторов if.

$('.lot2').click(function() {
  if($(".bp2").length) {
    $(".bp2").each(function(){
      $(this).toggleClass("showbp");
    });
  }
  if($('.bp3').length){
    // Do a thing
  }
});

Использование .length поможет нам определить, существуют ли какие-либо элементы этого селектора. Результатом будет 0 или число больше 0. Оператор if будет оценивать 0 как False и 1 или выше как True.

Используя .each(), мы можем выполнить итерацию каждого элемента этой коллекции. Затем мы можем использовать .toggleClass() для добавления или удаления определенного класса c.

См. Подробнее:

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