Javascript CSS新类不重写特定的元素样式?
在以下代码中,div“main”从类“main1”切换到“main2”。 测试表明,新等级已应用(尺寸从100x200变为200x100), 但是,新类不会覆盖先前指定给div的背景色。 这是正常的行为吗Javascript CSS新类不重写特定的元素样式?,javascript,css,Javascript,Css,在以下代码中,div“main”从类“main1”切换到“main2”。 测试表明,新等级已应用(尺寸从100x200变为200x100), 但是,新类不会覆盖先前指定给div的背景色。 这是正常的行为吗 .main1{宽度:100px;高度:200px;背景色:黄色;} .main2{宽度:200px;高度:100px;背景色:橙色;} 函数start(){ document.getElementById(“main”).style.backgroundColor=“绿色”; docume
.main1{宽度:100px;高度:200px;背景色:黄色;}
.main2{宽度:200px;高度:100px;背景色:橙色;}
函数start(){
document.getElementById(“main”).style.backgroundColor=“绿色”;
document.getElementById(“main”).className=“main2”;
}
内联样式(绿色
)比类样式具有更高的优先级。(黄色
和橙色
。因此,在这种情况下将应用内联样式,除非您有一个更具先例的选择器使用!重要
检查以下答案:
因为内联CSS是先加载的,如果有任何您想要应用背景色:橙色的方式,那么添加!important像背景色:橙色!important;是,因为将首先加载div CSS。CSS专用性规则声明内联样式比任何样式表样式具有更高的专用性
document.getElementById(“main”).style.backgroundColor=“green”
规定了要清除的规则…!重要信息
是重写内联样式属性的唯一方法