• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

nadpisanie css za pomocą JS, zmienna + !important

Ultraszybki serwer VPS NVMe BIZNES
0 głosów
137 wizyt
pytanie zadane 11 stycznia 2017 w JavaScript, jQuery, AJAX przez Kamila Użytkownik (620 p.)
zmienione kategorie 11 stycznia 2017 przez Arkadiusz Waluk

cześć,

muszę nadpisać style css. wnętrze mojej funkcji to:

var sliderHeight = screen.height - 150;
              
                $(".slider_content").css("height", sliderHeight + "!important");

przeszukałam internet. Z tego co wyczytałam to powino działać, ale niestey - nie działa.

Funkcja działa jeśli usunę "!important", więc coś tutaj jest nie tak :/

 

komentarz 11 stycznia 2017 przez CzikaCarry Maniak (65,520 p.)
Wejdź do przeglądarki, kliknij F12, wybierz konsolę JS i zobacz, czy nie wyskoczył tam jakiś błąd

4 odpowiedzi

+1 głos
odpowiedź 12 stycznia 2017 przez argeento Szeryf (79,090 p.)
wybrane 12 stycznia 2017 przez JSHolic
 
Najlepsza

Wystarczy spojrzeć do dokumentacji

Note: .css() ignores !important declarations. So, the statement $( "p" ).css( "color", "red !important" ) does not turn the color of all paragraphs in the page to red. It's strongly advised to use classes instead; otherwise use a jQuery plugin.

Jeśli jesteś autorem tego CSSa, polecam poczytać o specyficzności selektorów - !important nic dobrego w kodzie nie wnosi

+1 głos
odpowiedź 12 stycznia 2017 przez Comandeer Mentor (385,470 p.)

Pragnę tylko zauważyć, że zaakceptowana odpowiedź jest najgorszą możliwą. Sama informacja z dokumentacji przecież mówi wyraźnie, żeby przesiąść się na operowanie klasami ($elem.toggleClass( 'klasa' )). A najlepiej, jak Argeento już wspomniał, zapoznać się ze specyficznością selektorów.

0 głosów
odpowiedź 11 stycznia 2017 przez Pietrak Pasjonat (18,420 p.)
edycja 12 stycznia 2017 przez Pietrak
To po co ci ten important jak działa?
Znalazłeś jakies rozwiazanie i kopiujesz.
komentarz 12 stycznia 2017 przez Kamila Użytkownik (620 p.)
wyraziłam się może zbyt skrótowo.

Potrzebuję tego important po rozbudowaniu strony. Skrypt działa na uproszczonej wersji.

Zrobiłam uproszczoną wersję, żeby sprawdzić gdzie jest błąd w funkcji.
0 głosów
odpowiedź 12 stycznia 2017 przez Marcin2000Xpl Gaduła (3,230 p.)

Nie jest to możliwe.

Note: .css() ignores !important declarations. So, the statement $( "p" ).css( "color", "red !important" ) does not turn the color of all paragraphs in the page to red. It's strongly advised to use classes instead; otherwise use a jQuery plugin.

jQuery ignoruje deklaracje !important. Nie jest to błąd jQuery tylko same przeglądarki ignorują w JavaScript deklaracje !important. Jedyną opcją jest dość ryzykowna metoda, ponieważ czyści ona wszystkie style (oprócz stylu klas) elementu:

$(".slider_content").css("cssText", "height: 300px !important;");

Podobne pytania

0 głosów
3 odpowiedzi 380 wizyt
0 głosów
1 odpowiedź 108 wizyt
pytanie zadane 1 sierpnia 2016 w JavaScript, jQuery, AJAX przez Barttyyy Gaduła (4,740 p.)
0 głosów
1 odpowiedź 80 wizyt
pytanie zadane 24 maja 2016 w JavaScript, jQuery, AJAX przez Nehel Dyskutant (7,840 p.)
Porady nie od parady
Zadając pytanie postaraj się o odpowiedni tytuł, kategorię oraz tagi.
Ciekawy innych porad? Odwiedź tę stronę!

44,174 zapytań

83,965 odpowiedzi

167,154 komentarzy

21,120 pasjonatów

Przeglądających: 294
Pasjonatów: 22 Gości: 272

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...