js设置鼠标移动到li上显示背景色,鼠标离开后不显示背景色,在线等大神

ul下放置了4个li,当鼠标移动到第一个li上,第一个li上显示hover背景色,离开第一个li到第二个li上,第一个li不显示hover,第二个li显示hover,但是当鼠标离开li时候,依然显示hover的背景色,请问这是什么原因呢,一下是我的代码,求大神指点~~~

这种事用css伪类:hover更好,js的话,因为有两个列表,siblings可能有误,可以尝试将js代码改成这样:

$('#Nav ul li').hover(function() {
    $(this).addClass('hover');
}, function() {
    $(this).removeClass('hover');
});

追问

嗯嗯,这样是可以,刚才一开始我也用这段代码,跟你的一样,但是不行,现在复制了你的,果断可以了,真是奇怪啊,很满意,3q

追答

不客气,亲~

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-02-04
表示完全不需要JS的说。
直接在CSS样式里面写
li:hover{
background:red;

}追问

其实我这个代码做的是一个左侧固定通天导航,类似天猫的导航,你这样让所有的li 都用hover的话,那li所有元素都成红色了,是不行的

追答

你前面加个选择啊。我只是给你举个例子。你可以给你要变色的li加一个class
li.red:hover{
background:red;

}
这不就好了,更何况li有父级ul.div这些都可以,连类名都不用

追问

要是有很多个li,每个都加,不是累屁掉了,哈哈,不过还是谢谢你咯

追答

我就郁闷了,这世界是怎么了。你JS里面#Nav ul li 这样能写出来,那请问你JS选择的是所有的li???
真是人才。。你JS里面可以这样写,css不会??
#Nav ul li:hover{
background:red;

}
一定需要成品代码???

相似回答