Jquery开关活动类
Jquery switch active class
我试图将class和removeClass添加到div mall_alldeal_cat_active
中,以指向所选的字母表。然而,当我单击字母表中的一个时,所有div addClass都会一起显示。有谁能帮我检查一下我犯了什么错误吗?
$('.mall_alldeal_cat_title li').click(function(e){
e.preventDefault();
var $this = $('.mall_alldeal_cat_title li div');
$('.mall_alldeal_cat_title li div').removeClass('mall_alldeal_cat_active');
$this.addClass('mall_alldeal_cat_active');
});
.mall_alldeal_cat_title{
background:#fff;
padding-left:30px;
border-bottom:1px solid #ccc;
}
.mall_alldeal_cat_title li{
list-style:none;
display:inline-block;
padding:10px 10px 5px 10px;
cursor:pointer;
}
.mall_alldeal_cat_active{
width: 0;
height: 0;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-bottom: 5px solid black;
position:absolute;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="mall_alldeal_cat_title">
<li>A<div class="mall_alldeal_cat_active"></div></li>
<li>B<div class=""></div></li>
<li>C<div class=""></div></li>
<li>D<div class=""></div></li>
</div>
您应该使用this
,也就是您单击的li
,然后在其中找到div
。
CCD_ 5仍然与CCD_ 6中的所有div元素匹配。
$('.mall_alldeal_cat_title li').click(function(e){
e.preventDefault();
$('.mall_alldeal_cat_title li div').removeClass('mall_alldeal_cat_active');
$(this).find('div').addClass('mall_alldeal_cat_active');
});
.mall_alldeal_cat_title{
background:#fff;
padding-left:30px;
border-bottom:1px solid #ccc;
}
.mall_alldeal_cat_title li{
list-style:none;
display:inline-block;
padding:10px 10px 5px 10px;
cursor:pointer;
}
.mall_alldeal_cat_active{
width: 0;
height: 0;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-bottom: 5px solid black;
position:absolute;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="mall_alldeal_cat_title">
<li>A<div class="mall_alldeal_cat_active"></div></li>
<li>B<div class=""></div></li>
<li>C<div class=""></div></li>
<li>D<div class=""></div></li>
</div>
选择器正在选择所有li
元素。尝试这样的操作来获取li
同级并删除它们的类,然后只将其添加到当前类中。
$('.mall_alldeal_cat_title li').click(function(e){
e.preventDefault();
var $this = $(this);
$this.siblings().find('div').removeClass('mall_alldeal_cat_active');
$this.find('div').addClass('mall_alldeal_cat_active');
});
.mall_alldeal_cat_title{
background:#fff;
padding-left:30px;
border-bottom:1px solid #ccc;
}
.mall_alldeal_cat_title li{
list-style:none;
display:inline-block;
padding:10px 10px 5px 10px;
cursor:pointer;
}
.mall_alldeal_cat_active{
width: 0;
height: 0;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-bottom: 5px solid black;
position:absolute;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="mall_alldeal_cat_title">
<li>A<div class="mall_alldeal_cat_active"></div></li>
<li>B<div class=""></div></li>
<li>C<div class=""></div></li>
<li>D<div class=""></div></li>
</div>
您可以使用children()。
此代码可帮助您。
$('.mall_alldeal_cat_title li').click(function(e){
e.preventDefault();
//var $this = $('.mall_alldeal_cat_title li div');
$('.mall_alldeal_cat_title li div').removeClass('mall_alldeal_cat_active');
$(this).children().addClass('mall_alldeal_cat_active');
});
相关文章:
- 使用Dnamics CRM 2011中的JavaScript读取子网格的所有记录,而不考虑活动页面
- 字符串在将其传递给另一个活动Android JavaScript时读取Null
- 活动选项卡's源代码-获取变量s值
- 在Angular 2中布线期间保持零部件处于活动状态
- 在ajax成功后,cluetip不适用于首次点击活动元素
- 如何使bxslider仅在移动视图中处于活动状态
- AngularJS ng开关或类似的动态值工作
- JQuery中的活动搜索栏
- 悬停下拉菜单即使在鼠标移出后也保持活动状态
- 基于下拉菜单创建开关
- 将js添加到wordpress中以突出显示css活动菜单
- Google 脚本:用于创建日历活动的脚本运行时不会出错,但不会执行任何操作
- 手动创建旋转活动指示器
- 打开网页后立即获取网页的活动javascript函数
- Javascript开关不工作
- 使用纯javascript而非jquery使所选选项卡处于活动状态并保持非活动状态
- 菜单栏class=活动引导程序主题无法正常工作
- 如何在完整日历中的当天点击时显示活动详细信息
- 引导开关不工作
- 同步活动面板与活动模态与开关按钮