0

所以,我在下面使用这个函数来一次改变一个元素的背景。考虑到无论如何我都是从这里得到的,我的效果很好,但是我想要的是,当您在添加类后单击第二个或第三个孩子时,它将删除该类并将活动类添加回第一个孩子。

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

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

4

1 回答 1

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');
    }
});

你的小提琴,更新了。

于 2013-06-22T23:13:46.283 回答