如何使用Javascript更改悬停样式?

如何使用Javascript更改悬停样式?,javascript,css,angularjs,Javascript,Css,Angularjs,嗨,我的CSS文件中有这个代码 .topnav > li:hover:not(.active) > a { background: #3e3e3e; } 我想用javascript实现这一点。有人能帮我解释一下吗?假设您正在谈论直接转换为javascript,您可以做以下操作(在jQuery中) 这与css选择器的工作原理完全相同,首先查看li,忽略具有活动类的li,然后选择“a”子级。(this)的用法指的是目标元素 编辑 更新以修复代码问题。您的HTML <ul

嗨,我的CSS文件中有这个代码

.topnav > li:hover:not(.active) > a {
    background: #3e3e3e;
 }

我想用javascript实现这一点。有人能帮我解释一下吗?

假设您正在谈论直接转换为javascript,您可以做以下操作(在jQuery中)

这与css选择器的工作原理完全相同,首先查看li,忽略具有活动类的li,然后选择“a”子级。(this)的用法指的是目标元素

编辑 更新以修复代码问题。

您的HTML

<ul class="topnav">
<li onmouseover="StartHover()" onmouseout="OutHover()">aaaaaa</li>
</ul>
    aaaa
你的Javascript

  <script>
    function StartHover() {
        $(".topnav li").css("background", "#3e3e3e");
    }
    function OutHover() {
        $(".topnav li").css("background", "White");
    }

</script>

函数StartHover(){
$(“.topnav li”).css(“背景”,“#3e3e”);
}
函数OutHover(){
$(“.topnav li”).css(“背景”、“白色”);
}

如果您需要颜色保持#3e3e只需删除函数OutHover(){$(“.topnav li”).css(“背景”、“白色”)}谢谢您的回复……它工作正常,但不能永久更改li的颜色,我希望它在鼠标上工作,您能告诉我如何在鼠标上工作吗,对不起,我忘了老鼠出没的事了。将其添加到末尾,并将“youroldcolor”部分更改为实际的原始颜色。这应该可以解决:)请看我编辑的答案。
  <script>
    function StartHover() {
        $(".topnav li").css("background", "#3e3e3e");
    }
    function OutHover() {
        $(".topnav li").css("background", "White");
    }

</script>