【问题标题】:Jquery: .css color overwriting :hoverJquery:.css 颜色覆盖:悬停
【发布时间】:2012-11-11 05:06:22
【问题描述】:
<script>
            $(document).ready(function(){
            $("#dicks1").click(
                function(){
                $("header ul li").css("color", "#fff");
                $("#dicks1").css("color", "#ce0000");
            });
            $("#dicks2").click(
                function(){
                $("header ul li").css("color", "#fff");
                $("#dicks2").css("color", "#ce0000");
            });
            $("#dicks3").click(
                function(){
                $("header ul li").css("color", "#fff");
                $("#dicks3").css("color", "#ce0000");
            });

            });
            </script>

我正在努力做到这一点,所以当我单击“li”时,它会变成红色并保持红色,除非单击另一个,但是 li 上的 :hover 会被删除并且它保持白色而不是变成 #111。

我尝试了另一个带有 .hover 的脚本,我尝试了一个 if 语句,但它们都失败了。我在这里有什么遗漏吗?

这里是页面:http://web-owl.com/cockslam/

【问题讨论】:

  • 不点击类似的网址。并且您的示例代码中没有任何过度状态?
  • 超过状态?什么意思?
  • 您的代码中没有出现:hover。
  • 你需要阅读css排名。内联 css 将始终覆盖样式表规则。如果添加了一些内联样式,则需要将其删除才能使其他 css 生效。最好切换一个类的原因之一
  • 啊,我的意思是悬停在样式表中。所以当我点击链接时 li:hover {color:#111;} 被 jquery 破坏了;它使它成为 css("color", "#fff");

标签: jquery css hover


【解决方案1】:

您可以在悬停规则旁边添加!important 声明:

li:hover{
    color:#111 !important;
}

这样它就不会被.css添加的内联样式覆盖

【讨论】:

  • 天哪,我怎么会这么傻!非常感谢!我完全忘记了!important。
猜你喜欢
  • 1970-01-01
  • 2015-12-28
  • 1970-01-01
  • 1970-01-01
  • 2013-01-20
  • 1970-01-01
  • 1970-01-01
  • 2014-03-30
  • 1970-01-01
相关资源
最近更新 更多