jQuery toggle versus CSS !important

Blog - jQuery toggle versus CSS !important      

  TIP |  Když budete zobrazovat element pomocí funkce toggle(), může se vám stát, že se nic nestane. Element zůstane nadále skrytý, aniž by jQuery vygenerovalo nějakou chybu. Jak je to možné?

Viníkem může být zdánlivě nevinné, ale poměrně zákeřné CSS pravidlo display: none!important, které ovšem přebije všechno, co mu přijde do cesty. JQuery funkce toggle zřejmě funguje tak, že elementu mění nastavení CSS vlastnosti display.

Možnosti řešení

  1. Vyhnout se direktivě !important. Obecně vzato by se tahle direktiva neměla používat téměř vůbec, pokud k tomu nejsou fakt dobré důvody a neexistuje žádný jiný způsob, jak dosáhnout požadovaného efektu.
  2. Místo funkce toggle použít toggleClass a tím změnit třídu, kterou má element nastavenou. Změnou třídy se zamění celá sada CSS pravidel a tím pozbyde !important efektu. 

Podobné články

Komentáře

  |  Zapoj se do diskuze