其他分享
首页 > 其他分享> > JQuery addClass 失效原因

JQuery addClass 失效原因

作者:互联网

在写css样式时候,为了限定子元素范围一般嵌套父层class,但会导致JQuery:addClass失效

因为嵌套父层class优先级大于普通class

例如

<style>
    .circle li {background-color:red}
    .changecolor {background-color:black}
    .circle .change {background-color:black}
</style>
<body>
    <div class="circle">
         <ul>
               <li>123</li>
         <ul>
    </div>
</body>

 例如写一段JQuert通过鼠标经过改变li的背景颜色,通过直接用class元素覆盖之

$(".circle li").mouseenter(
{
    $(this).addClass("changecolor");
})

会发现覆盖失败,因为原来带父级的类优先级大于不带父级的类,一共有三种解决方法

第一:让覆盖元素写成带有父级的类

$(".circle li").mouseenter(
{
    $(this).addClass(".circle change");
})

第二:添加!important 将类设置成最高优先级

.changecolor {background-color:black !important}

第三: 通过JQuert.css方法改变元素的属性

$(".circle li").mouseenter(
{
    $(this).css("background","black");
})

 

标签:JQuery,color,li,black,background,失效,circle,class,addClass
来源: https://blog.csdn.net/RETURN100ERRORS/article/details/113737120