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

标签 jquery html css

所以,我在下面使用这个函数来一次更改一个元素的背景。我让它工作得很好,考虑到我是从这里得到的,但我想要的是,当你在添加类(class)后点击第二个或第三个 child 时,它会删除类(class)并将事件类(class)添加回第一个 child 。

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

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

最佳答案

尝试检查类 'back' 是否已经存在(也就是链接之前已被单击)。如果是,则恢复第一个 child 规则:

$(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.

关于jquery 一次改变一个元素的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17256152/

相关文章:

javascript - 使用 colspan 创建新的表格行会更改 IE 中的单元格大小

javascript - 如何获取 JSON 中某个键的值

Python 处理 HTTP 请求

javascript - 我如何将此代码中的选项卡居中?

javascript - 使用 Jquery 将数据作为文本

javascript - 访问最远的父级

html - 响应式地调整 SVG 图标和文本的大小

javascript - 防止 div 中的元素随其余内容一起滚动

css - 更智能的 CSS 颜色变化

CSS3 图像悬停在圆形 div 之外并带有过渡