首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery切换背景颜色

问Jquery切换背景颜色
EN

Stack Overflow用户
提问于 2012-07-04 02:24:00
回答 2查看 4.2K关注 0票数 2

我有一个jquery函数,当单击一个li时,li会展开。这部分运行得很好。现在,我想,当单击li时,它会切换背景色。但是,当我必须再次单击li项来取消切换背景颜色时,它可以正常工作。有人可以帮助我在正确的方向上如何实现这一点。

代码语言:javascript
复制
$(function() {
    $('.a').click(function() {
        var name = $(this).attr("name");
        var content = $('.content[name=' + name + ']');
        $('.content').not(content).hide('fast');
        $('.selected').css('background', 'yellow');
        content.slideToggle('fast');
    });

    $("li").click(function() {
        $(this).toggleClass("highlight");
    });
});​
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-04 02:28:21

每次单击时,将<li>-s设置为默认颜色,并突出显示当前颜色:

代码语言:javascript
复制
$("li").click(function() {
    $("li").removeClass("highlight");
    $(this).addClass("highlight");
});

..。

更新

http://jsfiddle.net/NXVhE/4/

代码语言:javascript
复制
$(function() {
    $('.a').click(function() {  
        $(this).removeClass("highlight");    
        var name = $(this).attr("name");
        var content = $('.content[name=' + name + ']');

        $('.content').not(content).hide();
        content.toggle();
    });

    $("a").click(function () {
        $("a").removeClass("highlight");

        if ( $(".content").is(":visible") ) {
            $(this).addClass("highlight");
        }
    });  
});
票数 2
EN

Stack Overflow用户

发布于 2012-07-04 02:38:13

假设<li>都是兄弟,这样做的效率会稍微高一些,并且允许同一页面上的多个列表彼此独立地工作(同样,假设这是所需的功能)。

代码语言:javascript
复制
$('li').click(function() {
  $('this').addClass('highlight').siblings().removeClass('highlight').
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11316906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档