Javascript Jquery中的悬停事件不起任何作用

Javascript Jquery中的悬停事件不起任何作用,javascript,jquery,html,css,event-handling,Javascript,Jquery,Html,Css,Event Handling,我有一段javascript代码,当它悬停在上面时,它会突出显示一个导航选项卡,但每当我用鼠标悬停时,它什么也不做。我该怎么办 $("nav ul li").hover( function(){ $("nav ul li").css("background-color","rgba(255,255,255,0.9)"); }, function(){ $("nav ul li").css("background-color","");

我有一段javascript代码,当它悬停在上面时,它会突出显示一个导航选项卡,但每当我用鼠标悬停时,它什么也不做。我该怎么办

$("nav ul li").hover(
    function(){
        $("nav ul li").css("background-color","rgba(255,255,255,0.9)");
    },
    function(){
        $("nav ul li").css("background-color","");
    }
);

最好的方法是使用CSS:

nav ul li:hover {
    background-color: rgba(255,255,255,0.9);
}
如果您被迫改用JavaScript,您可能希望在回调中使用
this
,以识别悬停的特定
li
,请参阅注释:

$("nav ul li").hover(
    function(){
        // Give this LI a specific background color  
        // and remove it from siblings, just in case 
        $(this).css("background-color","rgba(255,255,255,0.9)")
            .siblings("li")                                    
                .css("background-color","");
    },
    function(){
        // Remove it when we lose hover 
        $(this).css("background-color","");
    }
);

但这是第二个最好的选择。

如果要工作,这将突出显示所有选项卡。。。因为您不使用CSS,所以实际上不需要使用JavaScript。为此,请使用CSS,nav ul li:hover{background color:#color},所以问题是您在页面上存在元素之前进行绑定,或者选择器错误。用上面的代码无法分辨。基本的console.log语句可以帮助您解决这个问题。它不是
nav ul li:hover{background color:…}nav ul li{background:inherit;}
?哈哈,没关系。@Snowmonkey:是的——这就是为什么我键入冒号,然后显然忘了键入hover,然后把自己彻底弄糊涂了。谢谢布兰登的修复!或者,如果你必须使用js进行悬停,但仍然可以使用css类,那么就使用css类。@freedomn-m:是的,我甚至在回答时添加了这个。。。