在jquery之后,不使用';不工作悬停

在jquery之后,不使用';不工作悬停,jquery,css,hover,html-lists,Jquery,Css,Hover,Html Lists,这很有效 但在这之后就不行了。我能做些什么来解决这个问题? HTML: 有什么想法吗?因为 #list li:hover { background: rgb(204,51,51); cursor: pointer; transition:0.6s; } 将被jQuery在单击后提供给元素的style=“属性覆盖 你可能要考虑的一个可能的解决方案是这个 #list li:hover { background: rgb(204,51,51); 添加!重要信息指向悬

这很有效

但在这之后就不行了。我能做些什么来解决这个问题? HTML:

有什么想法吗?

因为

#list li:hover
{
    background: rgb(204,51,51);
    cursor: pointer;
    transition:0.6s;
}
将被jQuery在单击后提供给元素的
style=“
属性覆盖

<>你可能要考虑的一个可能的解决方案是这个

#list li:hover
{
    background: rgb(204,51,51);
添加
!重要信息
指向悬停时的CSS背景属性。通常不鼓励这样做,因此开发人员必须开发设计更好的模板。但在这种特殊情况下,它符合您的需要

更新

这样比较好

#list li:hover
{
    background: rgb(204,51,51) !important;
如您所见,我使用了jQuery,现在jQuery没有为元素提供
style
属性,因此没有任何内容被覆盖

当然,还有新的css

$('#list').find('li').click(function(){
    var x = $(this).attr('id');
    $('#list').find('li').addClass('other');
    $('#'+ x).addClass('clicked');
});
因为

#list li:hover
{
    background: rgb(204,51,51);
    cursor: pointer;
    transition:0.6s;
}
将被jQuery在单击后提供给元素的
style=“
属性覆盖

<>你可能要考虑的一个可能的解决方案是这个

#list li:hover
{
    background: rgb(204,51,51);
添加
!重要信息
指向悬停时的CSS背景属性。通常不鼓励这样做,因此开发人员必须开发设计更好的模板。但在这种特殊情况下,它符合您的需要

更新

这样比较好

#list li:hover
{
    background: rgb(204,51,51) !important;
如您所见,我使用了jQuery,现在jQuery没有为元素提供
style
属性,因此没有任何内容被覆盖

当然,还有新的css

$('#list').find('li').click(function(){
    var x = $(this).attr('id');
    $('#list').find('li').addClass('other');
    $('#'+ x).addClass('clicked');
});

这是因为内联样式优先于您的
#list li:hover
样式。理想情况下,所有样式(背景色)都应该在CSS中完成,您可以使用JS添加类并允许CSS接管

另外,请记住将
过渡
保持为常规样式,而不是
:如果您仍然希望它在淡出时进行过渡,请悬停

这个怎么样:

JS

#list li:hover, #list li.clicked
{
    background: rgb(204,51,51);
   cursor: pointer;
    transition:0.6s;
}

.other {
    background: rgb(42,43,44);
}
$('#list li').click(function(){
    $('#list li').removeClass('active');
    $(this).addClass('active');
});
CSS

#list li:hover, #list li.clicked
{
    background: rgb(204,51,51);
   cursor: pointer;
    transition:0.6s;
}

.other {
    background: rgb(42,43,44);
}
$('#list li').click(function(){
    $('#list li').removeClass('active');
    $(this).addClass('active');
});

这是因为内联样式优先于您的
#list li:hover
样式。理想情况下,所有样式(背景色)都应该在CSS中完成,您可以使用JS添加类并允许CSS接管

另外,请记住将
过渡
保持为常规样式,而不是
:如果您仍然希望它在淡出时进行过渡,请悬停

这个怎么样:

JS

#list li:hover, #list li.clicked
{
    background: rgb(204,51,51);
   cursor: pointer;
    transition:0.6s;
}

.other {
    background: rgb(42,43,44);
}
$('#list li').click(function(){
    $('#list li').removeClass('active');
    $(this).addClass('active');
});
CSS

#list li:hover, #list li.clicked
{
    background: rgb(204,51,51);
   cursor: pointer;
    transition:0.6s;
}

.other {
    background: rgb(42,43,44);
}
$('#list li').click(function(){
    $('#list li').removeClass('active');
    $(this).addClass('active');
});

与使用
相反!重要信息
,为什么不直接解决问题

我重写了jQuery:

#list li {
    background:rgb(42,43,44);
    transition:background ease 0.6s;
}

#list li.active,
#list li:hover
{
    background: rgb(204,51,51);
    cursor: pointer;
}
CSS:


与使用
相反!重要信息
,为什么不直接解决问题

我重写了jQuery:

#list li {
    background:rgb(42,43,44);
    transition:background ease 0.6s;
}

#list li.active,
#list li:hover
{
    background: rgb(204,51,51);
    cursor: pointer;
}
CSS:


试试$(“*#list>li”)并删除在opera、chrome、firefox中找到的Dude,demonofnight,我会尝试$(“*#list>li”)并删除在opera、chrome、firefox中找到的Dude,demonofnight,我会尝试两者!这是一种重要的方式,也是一种更好的jquery方式,用于解释我所做的事情并链接文档。只有在第一行出现红色的人才能投反对票,我建议在法官面前阅读全文。@user2992577当一个答案解决了你的问题时,请记住。我建议两者兼而有之!这是一种重要的方式,也是一种更好的jquery方式,用于解释我所做的事情并链接文档。只有在第一行出现红色的人才能投反对票,我建议在法官面前阅读全文。@user2992577当一个答案解决了你的问题时,请记住。