使用jQuery来改变悬停伪

时间:2018-04-24 03:28:06

标签: jquery css3

所以,我没有做很多前端,我相信这很简单。到目前为止,我还没有看到答案。

我有一个jQuery函数可以触发一些CSS更改。

$(".nav-link").css({ set of changes });

但是如果我想在hover伪中添加一些属性呢?

我试过

$(".nav-link:hover").css({ ... });

但这似乎不起作用。

由于

2 个答案:

答案 0 :(得分:2)

您应该将hover() 方法应用为功能,例如:



$('.nav-link').hover(function(){
  $(this).css({'background':'lightblue', 'border':'none'});
}, function(){
  $(this).css({'background':'initial', 'border':'1px solid'});
});

.nav-link {
  width: 100px;
  height: 100px;
  border: 1px solid;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="nav-link"></div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

.hover函数有效,但有时候直接编写CSS要容易得多。

这是我用来使它在边缘情况下工作的一种方式。 (可能不是一个好习惯。

您可以使用这种方式逐字添加任何CSS。

-static

如果要删除样式,只需执行

$('body').append('<div class="new-styles"></div>');

$('.new-styles').html(`
<style>
    a:hover {
        /* ... */
    }
    a:after {
        /* ... */
    }
</style>
`);

(我在这个例子中使用的是ES6模板文字,因此看起来更干净。在生产中使用它之前,您可能需要先检查https://caniuse.com/#search=interpolation。)