我有个label,对其设置了一个class=“a” <label class="a">abc </label> 之后我又用javascript为其增加一个class:"b",我是使用jquery改变的 js代码为: $('label').addClass("b"); //这里我并没有remove class a,因为我觉得b应该起作用 Css为 a{color:red;} b{color:green} 请问为什么label里的字不改变颜色呢? 而当我直接改变其css时就可以改变颜色了, js代码为:$('label').css("color","green"); 可能css遵循行内代码优先于外部表的关系,所有后面写的js起作用。 但是,css同样应该遵循后设置的css优先于之前设置的css啊。 还望高人解答! 谢谢!!
3 回答
动漫人物
TA贡献1815条经验 获得超10个赞
判断css优先级别的办法:加权。
加权就是为每一种选择符分配一个值
如类型选择符:1分(例:h2具有特殊性1,得1分)
class选择符:10分
id选择符:100分
判断时,加法计算值大小,如#wrap .wrap span = 111分,同一个元素,多种样式,哪个加权值大,哪个优先。
特别提醒:
!important 具有最大优先权
内敛样式次之(加权值为100以上)
就近原则,排在后面的样式最大优先
被继承的元素,加权值为0
添加回答
举报
0/150
提交
取消