您需要对刚刚使用 JavaScript 创建的元素应用一些强制样式elem
。由于这些属性是绝对强制性的,绝不应该允许它们被覆盖,因此决定使用!important
.
elem.style.color = "red !important";
但是,这是行不通的。上网一翻,发现!important
只能通过属性cssText
(嗯,或者通过setAtribute
)来设置属性。
elem.style.cssText = "color: red !important;";
是的,它似乎真的有效。但是,我不明白为什么在这样的设置之后可以覆盖属性的值:
elem.style.color = "green"; // работает! Текст действительно становится зеленым. Хотя, по идее, не должен.
此外,我不清楚为什么即使该!important
属性不能在.css
文件中被覆盖。
let elem = document.querySelector("#test");
elem.style.color = "red";
#test {
color: green;
}
<div id="test">Hello</div>
我要求解释。
设置属性
同时拥有多个属性:
问题是,如果你这样做
然后将颜色写入
inner style
元素。我们跑,我们按
F12
,我们看结果是这样。A
inner style
始终具有最高优先级,并且不受任何类覆盖的影响。除非班级有important
.