jQuery On Click Add Class

时间:2015-07-23 17:06:34

标签: jquery css onclick click addclass

所以我想弄清楚为什么这不起作用:

https://jsfiddle.net/bv6ort3g/

HTML:

<div class="all-btn">All Button</div>

<div class="item all"> item 1 </div>
<div class="item all"> item 2 </div>
<div class="item all"> item 3 </div>
<div class="item all"> item 4 </div>
<div class="item all"> item 5 </div>

CSS:

.all-btn {
    cursor: pointer;
    padding: 5px;
    border: 1px solid #000;
    display: inline-block;
    margin-bottom: 15px;
}

.item {
    display: none;
}
.show {
    display: block;
}

jQuery的:

$('.all-btn').on('click', function () {
    $('.all').addClass('show');
});

基本上我想点击按钮,然后在全部

的所有div标签中添加一个 show

任何人都知道我哪里出错了?

由于

2 个答案:

答案 0 :(得分:0)

基本上我已经做到了......

$(function(){
    $(".item").hide();
    $(".all-btn").on("click", function(){
        $(".item").show();
    });
});

或者您可以使用它在显示和隐藏的类之间切换......

$(function(){
    $(".item").hide();
    $(".all-btn").on("click", function(){
        $(".item").toggle();
    });
});

我保持你的HTML一样......

<div class="all-btn">Show Button</div>

<div class="item all">Item 1</div>
<div class="item all">Item 2 </div>
<div class="item all">Item 3 </div>
<div class="item all">Item 4 </div>
<div class="item all">Item 5 </div>

但是,我已删除了您的.item.show并保留了您的.all-button CSS代码,但这不是必须的。

演示:https://jsfiddle.net/bv6ort3g/1/

发烧友演示:https://jsfiddle.net/bv6ort3g/2/

答案 1 :(得分:0)

您可以使用toggleClass()方法。考虑到你得到的css规则。在两个类之间切换

 $('.all-btn').on('click', function () {
   $('.all').toggleClass('show item');
 });

或者:

$('.all-btn').on('click', function () {
    $('.all').toggle();
});