Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 选择时更改列表项的背景颜色_Javascript_Jquery_Css - Fatal编程技术网

Javascript 选择时更改列表项的背景颜色

Javascript 选择时更改列表项的背景颜色,javascript,jquery,css,Javascript,Jquery,Css,嗨,我想更改我的菜单项的背景色,我已经尝试过了 以下功能不起作用 $('#list-menu a').click(function(){ $(this).addClass('active').siblings().removeClass('active'); }); 但是我没有得到什么,谢谢 这是我的链接你的CSS有点不对劲 你有一个错误的逗号 #list-menu a.active { border: 1px solid #000000; background: #3333

嗨,我想更改我的菜单项的背景色,我已经尝试过了 以下功能不起作用

$('#list-menu a').click(function(){
    $(this).addClass('active').siblings().removeClass('active');
    });
但是我没有得到什么,谢谢
这是我的链接

你的CSS有点不对劲

你有一个错误的逗号

#list-menu a.active {
 border: 1px solid #000000;
background: #333333;
color: #ffffff;
}
我也关掉了JQ,虽然我不是专家

$('#list-menu a').click(function(){
    $(this).addClass('active');
    $('#list-menu a').not(this).removeClass('active');
});


至于您原来的JQ,我相信这是因为您将更改应用于
li

中没有同级的锚,您可以先删除所有类,然后添加所需的类:

$('#list-menu a').click(function(){   
    $('#list-menu a').removeClass('active');
    $(this).addClass('active');
});
您的
.sibbins()
选择器不起作用,因为链接实际上嵌套在
li
中,因此在
li
中没有更多的
a
。我建议您将.active类从
a
移动到
li
,这样您就可以通过以下方式更改活动项的背景:

$('#list-menu li a').click(function(){   
    $(this).parent().addClass('active').siblings().removeClass('active');
}); 
检查这个