jquery - jQuery 多个 If
问题描述
我希望能够检查某处是否存在 CSS 类并执行某些操作,然后能够检查某处是否存在另一个 CSS 类并执行某些操作。因此,如果.bp2
存在,请执行此操作,但还要检查是否.bp3
存在,如果存在,请执行其他操作。它们不需要同时存在,如果第一个存在,第二个应该仍然检查自己并运行。我是否需要每次都复制/粘贴此代码,还是有办法将它们压缩在一起?
$('.lot2').click(function () {
if ($('.bp2').hasClass('showbp')) {
$('.bp2').removeClass('showbp');
} else {
$('.bp2').addClass('showbp');
}
});
解决方案
您可以执行多个if
语句。
$('.lot2').click(function() {
if($(".bp2").length) {
$(".bp2").each(function(){
$(this).toggleClass("showbp");
});
}
if($('.bp3').length){
// Do a thing
}
});
使用.length
将帮助我们确定该选择器的任何元素是否存在。它将导致0
或 大于 的数字0
。if
语句将评估 a为0
False1
或更高为 True。
使用.each()
我们可以迭代该集合的每个项目。然后我们可以使用.toggleClass()
来添加或删除特定的类。
看更多:
推荐阅读
- sql - 选择累积(?)计数,其中计数取决于 postgresql 中的两个日期列
- dc.js - 获得复杂减少的前 n 个
- firebase - 如何将生产数据从 Cloud Firestore 导入本地模拟器?
- c++ - 如何使用 C++ 中的子类实例初始化超类数组的元素?
- sql - 将字符串拆分为多行和多列
- reactjs - React hooks:使用 useEffect 替换 componentDidMount 的正确方法
- powershell - 正确格式化 Invoke-RestMethod 结果?
- ruby - Rails API 如何发送带有产品的附加图像作为响应
- javascript - Angular Material MatToolTip 仅在元素被截断时显示
- r - 在没有聚合的情况下旋转数据框