Я не ў стане надаць стыль з «!» Важным правілам

Я паспрабаваў надаць стыль, выкарыстоўваючы гэты код:

document.body.style.color='green!important';

Per ў CSS каскадная реф , ужываючы важна! </Код > правіла я магу козырам паходжанне і спецыфічнасць.

Я спрабаваў не ўводзіць гэта з дапамогай Firefox Firebug ў www.google.com, аднак не пашанцавала.

Як я ўпырснуць колер пярэдняга плана з важна! правіць?

44
Спрабавалі Ці вы з прасторай? <�Код> document.body.style.color = "зялёны важна!";
дададзена аўтар Esailija, крыніца

6 адказы

За спецыфікацыі, калі вы хочаце ўсталяваць прыярытэт, а не толькі значэнне, вы павінны выкарыстоўваць SetProperty , напрыклад, так:

document.body.style.setProperty ("color", "green", "important");
91
дададзена
IE9 + толькі. Мабыць, вы можаце выкарыстоўваць замест SetAttribute для
дададзена аўтар RTF, крыніца
@BoltClock, для якіх функцыі?
дададзена аўтар Pacerier, крыніца
@RTF: Калі выказаць здагадку, што ўкараненне правільна гэта павінна быць магчымым - важна можа законна з'яўляцца ў аб'явах рядный стылі !.
дададзена аўтар BoltClock, крыніца
@Pacerier: CSS-стыль-АТР, які проста па той жа граматыцы выкарыстоўваецца ў астатняй часткі CSS.
дададзена аўтар BoltClock, крыніца
дададзена аўтар TylerH, крыніца
element.style.cssText = 'color:green !important';

павінны працаваць для вас.

8
дададзена
Метад (г.зн. ... + = ... ), задаванай @guari працуе, але толькі ў павышэнні прыярытэту стылю для «важна!». Адкат ад «важна!», З іншага боку, не атрымаецца. г.зн. element.style.cssText + = 'Колер: сіні , не атрымаецца, а element.style.cssText + =' Колер: сіні важна будзе працаваць.
дададзена аўтар codechimp, крыніца
калі ёсць іншыя стылі на элеменце, проста сашчапіць вашыя стылі: element.style.cssText + = ', колер: зялёны важна ;! і вы ў бяспецы ў браўзэрах, якія падтрымліваюць cssText ўласцівасць! :)
дададзена аўтар guari, крыніца
Гэта працуе, калі няма іншых стыляў, устаноўленых на элеменце, у адваротным выпадку ён будзе перазапісваць любыя іншыя стылі на элеменце і страціць іх.
дададзена аўтар robocat, крыніца

усе адказы вялікія, але ўсе яны ўзялі на сябе значэнне у атрыбуце фіксаваны , што, калі не

ўзяць глядзець на маё рашэнне

this.style.setProperty("color", $(this).css('color'), "important");

instead of hand writing the value, I got it using jQuery $(this).css('attr')

2
дададзена

Выкарыстоўвайце толькі гэта:

document.body.style.color="green";

Вы не можаце выкарыстоўваць важна ў гэтым выпадку. Ва ўсякім выпадку, як Fatal адзначыў, што гэта не будзе працаваць, калі ёсць непасрэдна важнае правіла ў CSS стыляў, што вам трэба перавызначыць.

Такім чынам, вы павінны dynamicaly стварыць табліцу стыляў і аб'яўленне яго ў галаве:

function addNewStyle(newStyle) {
   var styleElement = document.getElementById('styles_js');
   if (!styleElement) {
       styleElement = document.createElement('style');
       styleElement.type = 'text/css';
       styleElement.id = 'styles_js';
       document.getElementsByTagName('head')[0].appendChild(styleElement);
   }
   styleElement.appendChild(document.createTextNode(newStyle));
}

Пасля гэтага вы можаце абнавіць стыль, як і што

addNewStyle('body {color:green !important;}')
1
дададзена
Гэта будзе пабіта стылем CSS з ID-селектарам і важны !. HTML: <�цела ID = "illwin" стыль = "колер: зялёны;"> Гэта тэст! </body> CSS: #illwin {колер: чырвоны важна; } Гэта прывядзе чырвоны колер тэксту. jsfiddle.net/C6zH2
дададзена аўтар Fabian Barney, крыніца

style.cssText гэта адзіны спосаб, каб дадаць! важна.

<script>
   document.body.style.cssText='color: red !important;'
</script>
1
дададзена

Я хацеў бы задаць, што яна не можа працаваць не столькі з-за якіх-небудзь памылак у кодзе (за выключэннем прасторы), але больш з-за змены пазнакі цела не з'яўляецца досыць канкрэтным элементам, клас, або тое, што вы для стварэння жаданага эфект.

Як, напрыклад, старонка тэкст выніку пошуку мае клас «вул». усе вынікі пошуку, кожны інкапсулюецца ў <�Код>

  • тэг.

    Такім чынам, некаторы код, каб такі эфект можа выглядаць наступным чынам:

    var arr = document.getElementsByClassName('st');
    for(i=0; i
  • 1
    дададзена
    скруткі за адказы паспрабаваў надаць document.body.style.color = «зялёны важна!»; на bbc.co.uk з дапамогай Firefox Firebug, але не пашанцавала :( давялося зірнуць на стыль у падпальшчык, гэта звязана з * {колер: # 505050;} не можа бачыць адборачныя ў крыніцы, так што я збіты з панталыку «важна!» @Ahren, я думаў, што крыніца (важны карыстальнік) не анулюе ўсе іншыя правілы, незалежна ад таго, што спецыфічнасць Спасылка:
    дададзена аўтар android_baby, крыніца