我发现如果我们编写内联css(或使用JavaScript添加它),那么我们就会失去css hover的值。是否有可能改变这种行为?
简单示例
<div id="test" style="color: red">test</div>
<style>
#test:hover {
color:blue;
}
</style>
在这种情况下,悬停不起作用。
更新
我无法使用!important
,因为在此之后我将无法通过JavaScript更改该属性。
我也动态生成样式,所以我不能通过JavaScript添加特定的类。
答案 0 :(得分:3)
因为内联css会覆盖文件中的css样式 如果你有
color: blue !important
它可以工作但不推荐,你可以随时使用jquery删除内联样式标签,但哈哈
更新
使用jquery删除样式标记或使用javascript时...添加!重要,以便内联css具有重要性
答案 1 :(得分:3)
答案 2 :(得分:3)
最简单的方法是以下
$(selector).hover(function() {
$st = $(this).attr("style");
$(this).attr("style","");
},function() {
$(this).attr("style",$st);
});
答案 3 :(得分:0)
在CSS中,style
属性将覆盖任何style
元素或stylesheets
。如果您无法更改style
属性,则必须使用!important
。如果您可以完全删除style
属性并将所有内容放在style
元素中。或者甚至更好,在单独的stylesheet
中,您的问题将得到解决。
P.S。 type
元素需要style
属性。这不会解决您的问题,但您应该将<style>
更改为<style type="text/css">