!important

JavaScript

3 svar · 511 visningar · startad av Web-Tor

Medlem sedan nov. 200013 890 inlägg
Trådstart#1

Går det att få in !important via JavaScript?

function listOver(obj){
 obj.style.backgroundColor="#eee"; //Här vill jag ha in "!important"
}
Medlem sedan dec. 20025 483 inlägg
#2

Det verkar som att IE7 (troligtvis lägre versioner också) inte vill vara med på "#eee !important". FF2 och Opera9 har däremot inga problem med detta.

Såvida du inte finner någon annan lösning antar jag att

.foo { background-color:#eee !important; }
function listOver(obj){
  obj.className = "foo";
}

fungerar.

Medlem sedan nov. 200013 890 inlägg
#3

Tyvärr kan jag inte byta klassnamn i just det här fallet. Jag använder en tabell på sidan som har runt 10000 celler och byter jag klassnamn vid onmouseover går det så j*vla segt! :x

Det räcker med en IE-lösning.

Medlem sedan dec. 20025 483 inlägg
#4

En sökning verkar ge att detta blir svårt att åstadkomma. Logiken är faktiskt rimlig: eftersom user stylesheets har högre prioritet än author stylesheets, tillsammans med det faktum att en användare har möjlighet att specificera !important för något element, bryts prioritetsordningen skulle tilldelningen av !important till style-attributet (via ex. JS) få önskad effekt.

306 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
183 ms — deklarationer (db)
0 ms — hämta statistik (cache)
120 ms — hämta tråd, inlägg och bilagor (db)
182 ms — ändringar (db)