Tytuł w dużym stopniu to podsumowuje.
Zewnętrzny arkusz stylów ma następujący kod:
td.EvenRow a {
display: none !important;
}
Próbowałem użyć:
element.style.display = "inline";
i
element.style.display = "inline !important";
ale nie działa. Czy można zastąpić! Ważny styl za pomocą javascript.
To jest dla rozszerzenia greasemonkey, jeśli to robi różnicę.
javascript
css
Enrico
źródło
źródło
Odpowiedzi:
Uważam, że jedynym sposobem na to jest dodanie stylu jako nowej deklaracji CSS z sufiksem „! Important”. Najłatwiej to zrobić, dodając nowy element <style> do nagłówka dokumentu:
Reguły dodane powyższą metodą (jeśli użyjesz sufiksu! Important) zastąpią inne poprzednio ustawione style. Jeśli nie używasz przyrostka, pamiętaj, aby wziąć pod uwagę pojęcia takie jak „ specyficzność ”.
źródło
Można do tego użyć kilku prostych, jednoliniowych linków.
1) Ustaw atrybut „style” dla elementu:
lub...
2) Zmodyfikuj
cssText
właściwośćstyle
obiektu:Albo zrobi robotę.
===
BTW - jeśli potrzebujesz użytecznego narzędzia do manipulowania
!important
regułami w elementach, napisałem wtyczkę jQuery o nazwie „ważne”: http://github.com/premasagar/importantźródło
style
tagu.style
atrybutu, a nie tagu / elementu.element.style.cssText += ';display:inline !important;';
element.style.setProperty
.element.style
masetProperty
metodę, która może przyjąć priorytet jako trzeci parametr:To nie działa w starych IES ale powinno być dobrze w obecnych przeglądarek.
źródło
boxShadow
Opierając się na doskonałej odpowiedzi @ Premasagar; jeśli nie chcesz usuwać wszystkich innych stylów wbudowanych, użyj tego
Nie można użyć,
removeProperty()
ponieważ nie spowoduje to usunięcia!important
reguł w Chrome.Nie można użyć,
element.style[property] = ''
ponieważ akceptuje tylko camelCase w FireFox.źródło
element.style.setProperty
.Lepsza metoda, którą właśnie odkryłem: spróbuj być bardziej szczegółowym niż CSS strony z twoimi selektorami. Po prostu musiałem to zrobić dzisiaj i działa jak urok! Więcej informacji na stronie W3C: http://www.w3.org/TR/CSS2/cascade.html#specificity
źródło
Jeśli chcesz zaktualizować / dodać pojedynczy styl w atrybucie stylu elementu DOM, możesz użyć tej funkcji:
style.cssText jest obsługiwany we wszystkich głównych przeglądarkach .
Przykład użycia:
Oto link do wersji demonstracyjnej
źródło
Jeśli wszystko, co robisz, to dodawanie css do strony, sugerowałbym użycie stylowego dodatku i napisanie stylu użytkownika zamiast skryptu użytkownika, ponieważ styl użytkownika jest bardziej wydajny i odpowiedni.
Na tej stronie znajdziesz informacje o tworzeniu stylu użytkownika
źródło
https://developer.mozilla.org/en-US/docs/Web/CSS/initial
użyj właściwości początkowej w css3
źródło
https://jsfiddle.net/xk6Ut/256/
Jedną z opcji nadpisania klasy CSS w JavaScript jest użycie identyfikatora elementu style, abyśmy mogli zaktualizować klasę CSS
..
źródło
Zamiast wstrzykiwać styl, jeśli wstrzykniesz klasę (np. „Show”) przez skrypt java, zadziała. Ale tutaj potrzebujesz css jak poniżej. dodana reguła CSS klasy powinna znajdować się poniżej pierwotnej reguły.
źródło
Mamy kolejną możliwość usunięcia wartości właściwości z CSS.
Podobnie jak przy użyciu metody replace w js. Ale musisz dokładnie znać identyfikator stylu lub możesz napisać pętlę for, aby to wykryć, (policz style na stronie, a następnie sprawdź, czy któryś z tych elementów zawiera lub pasuje do
!important
wartości). także - ile ich zawiera, lub po prostu napisz globalną metodę zastępującą [regexp: / str / gi])Mój jest bardzo prosty, ale dołączam jsBin, na przykład:
https://jsbin.com/geqodeg/edit?html,css,js,output
Najpierw ustawiłem tło ciała w CSS na żółto
!important
, a następnie nadpisałem przez JS na darkPink.źródło
Poniżej znajduje się fragment kodu służący do ustawiania ważnego parametru atrybutu stylu za pomocą jquery.
Użycie jest całkiem proste - po prostu przekaż obiekt zawierający wszystkie atrybuty, które chcesz ustawić jako ważne.
Istnieją dwie dodatkowe opcje.
Aby po prostu dodać ważny parametr do już istniejącego atrybutu stylu, przekaż pusty ciąg.
2. Aby dodać ważny parametr do wszystkich obecnych atrybutów, nie przekazuj niczego. Ustawi wszystkie atrybuty jako ważne.
Oto jest na żywo w akcji. http://codepen.io/agaase/pen/nkvjr
źródło