切换div的第一个元素的类

时间:2016-07-22 17:46:11

标签: javascript jquery

这可能很简单,但我坚持到了这里!

代码:

<a href="#" class="icon">
    <i class="fa fa-arrow-down"></i>
    <h6>Heading</h6>
</a>

点击后,我想将fa-arrow-down类改为fa-arrow-up。我尝试了很多可能性,但没有找到解决方案。请帮帮我们......

我尝试的其中一种方法是......

$('.icon').click(function () {
    if ($(this).children(':first').hasClass('fa-arrow-down')) {
        $(this).children(':first').removeClass('fa-arrow-down').addClass('fa-arrow-up')
    }
})

console.log($(this).children())输出:

[i.fa.fa-angle-down, h6, prevObject: n.fn.init[1], context: a.icon]
0:i.fa.fa-angle-down
1:h6

由于

3 个答案:

答案 0 :(得分:1)

您可以使用 toggleClass() 方法轻松完成此操作。

$('.icon').click(function () {
    $(this).children(':first').toggleClass('fa-arrow-up fa-arrow-down')
})

答案 1 :(得分:1)

检查出来:

   $('.icon').click(function () {

    var hasClass = $('.icon:first-child').hasClass('fa-arrow-down');

    if (hasClass) {
        $('.icon:first-child').removeClass('fa-arrow-down').addClass('fa-arrow-up');
    } else {
        $('.icon:first-child').removeClass('fa-arrow-up').addClass('fa-arrow-down');
    }

});

答案 2 :(得分:0)

试试这个..

$('.icon').click(function () {
 if ($(".icon > i").hasClass('fa-arrow-down')) {
       $(".icon > i").removeClass('fa-arrow-down').addClass('fa-arrow-up')
    }
})