webForumDet fria alternativet
Logga in / Bli medlem

!important

JavaScript

3 svar · 509 visningar · startad av Web-Tor

Medlem sedan nov. 200013 890 inlägg
Frågan#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.

442 ms totalt · 4 externa anrop · v20260731065814-full.14655e19
306 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
306 ms — ändringar (db)