切换元素组中活动元素的样式

时间:2013-05-19 22:22:10

标签: javascript jquery css

给定一组没有目标属性的元素(例如下面的代码),在为以前选择的元素取消相同样式的同时,为所选元素设置高亮样式的最有效方法是什么?

<div id="uno" class="element_parent">
    <a href="#" class="element">ONE</div>
</div>
<div id="dos" class="element_parent">
    <a href="#" class="element">ONE</div>
</div>
<div id="tres" class="element_parent">
    <a href="#" class="element">ONE</div>
</div>

3 个答案:

答案 0 :(得分:4)

我会在点击锚点时添加和删除一个类,如下所示:

$('.element').on('click', function(e) {
    e.preventDefault();
    $(this).addClass('active')
           .closest('div')
           .siblings('div')
           .find('a')
           .removeClass('active')
});

CSS

.active {color: red;} /* or whatever */

或:

$('.element').on('click', function(e) {
    e.preventDefault();
    $('.element.active').removeClass('active');
    $(this).addClass('active');
});

答案 1 :(得分:1)

类似的东西:

$(".element").click(function() {
    $(".element").removeClass("active");
    $(this).addClass("active");
});

答案 2 :(得分:0)

$('.element').on('click',function(e){
    $(this).addClass('active');
    $('.element').not($(this)).removeClass('active');
});