jquery一次更改一个元素的背景

时间:2013-06-22 23:05:40

标签: jquery html css html5 css3

所以,我在下面使用这个函数来一次更改一个元素的背景。我觉得它工作得很好,考虑到我从这里得到了它,但我想要的是当你在添加了类之后点击第二个或第三个孩子时,它将删除该类并将活动类添加回第一个孩子。

$(window).load(function(){
    $('.innernav li:first-child a').addClass('back');
});
$("a").click(function () {
    $('a').removeClass('back');
    $(this).addClass('back');
});

很简单,我希望它在第二次单击元素时恢复到第一个子规则。这是因为,在我的网站上,当您点击一个时,它将显示它下面的内容。单击其他元素时,它将显示新内容并隐藏上一个元素,但再次单击时,它会将内容返回到页面最初加载时显示的原始内容。我将在jsFiddle中包含该函数,以便您更好地了解实际情况。我无法让toggleDisplay在jsFiddle中工作,但它通常可以正常工作。

1 个答案:

答案 0 :(得分:0)

尝试检查班级'back'是否已经存在(也就是之前点击了链接)。如果是,则恢复到第一个子规则:

$(window).load(function(){
    $('.innernav li:first-child a').addClass('back');
});
$("a#bg").click(function(){
    var isSecondClick = $(this).hasClass('back');
    $('a').removeClass('back');
    if (isSecondClick) {
        $('.innernav li:first-child a').addClass('back');
    } else {
        $(this).addClass('back');
    }
});

Your fiddle, updated.