首页 > 解决方案 > jQuery 多个 If

问题描述

我希望能够检查某处是否存在 CSS 类并执行某些操作,然后能够检查某处是否存在另一个 CSS 类并执行某些操作。因此,如果.bp2存在,请执行此操作,但还要检查是否.bp3存在,如果存在,请执行其他操作。它们不需要同时存在,如果第一个存在,第二个应该仍然检查自己并运行。我是否需要每次都复制/粘贴此代码,还是有办法将它们压缩在一起?

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

标签: jquerycss

解决方案


您可以执行多个if语句。

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

使用.length将帮助我们确定该选择器的任何元素是否存在。它将导致0或 大于 的数字0if语句将评估 a为0False1或更高为 True。

使用.each()我们可以迭代该集合的每个项目。然后我们可以使用.toggleClass()来添加或删除特定的类。

看更多:


推荐阅读