猿问

有大佬知道关于css的color颜色变化问题吗?求助!

我有个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啊。 
还望高人解答! 谢谢!!

幕布斯7119047
浏览 308回答 3
3回答

汪汪一只猫

正解如下JQuery你应该这样写就可以了$('label').addClass("a b");

动漫人物

判断css优先级别的办法:加权。加权就是为每一种选择符分配一个值如类型选择符:1分(例:h2具有特殊性1,得1分)class选择符:10分id选择符:100分判断时,加法计算值大小,如#wrap .wrap span = 111分,同一个元素,多种样式,哪个加权值大,哪个优先。特别提醒:!important 具有最大优先权内敛样式次之(加权值为100以上)就近原则,排在后面的样式最大优先被继承的元素,加权值为0

潇潇雨雨

a{color:red;}b{color:green}这两个是不是应该写成.a{color:red;}.b{color:green} 啊
随时随地看视频慕课网APP

相关分类

Java
JQuery
我要回答