Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

Podmínky, pokud prvek má třídu, nebo ji nemá – jquery

Antonín Bureš
verified
rating uzivatele
30. 10. 2014 22:32:29
Ahoj,
nejsem vůbec v jquery kovaný, ale mám problém s psaním podmínky, při které se zjišťuje, zdali daný prvek (span) má třídu, nebo ji nemá.
Vytvářím stránku postavenou na Wordpressu a myšlenka je taková, že ve vytvořeném menu, na jednotlivých položkách přidám třídu/třídy. Skript poté zjistí že položka má či nemá danou třídu a zobrazí či nezobrazí onen . Určit podmínku zdali položka menu (
  • ) má třídu mi nedělá problém ,ale zjistit že ji nemá mi nefunguje a v případě, že skript zjistí třídu, tak daný zobrazí u všech položek. Proto to potřebuji ošetřit tak, že další podmínkou bude, že bude zjišťovat její nepřítomnost.
    Vše je provázané s CSS, kde mám 4 prázné třídy (ty píšu ve Wordpressu k jednotlivým položkám menu, např. třída .mozek), čtyři třídy které skryjí span (např. .mozek-hide) a 4 třídy, které ho zobrazí (např. .mozek-show). Jednotlivé spany jsou v bloku za každou položkou menu a defaultně jsou skryté. Zobrazují obrázky.
    Můj problém je, že v současné chvíli se mi nedaří podmínkou zjistit, že třída neexistuje a tudíž prvek nezobrazit. Skript zjistí, že u první položky třída existuje, zobrazí span, ale zobrazí ho u všech položek a to je špatně.
    Prosím o radu, jak upravit kod tak, aby byla tato chyba ošetřena.
    Díky.
  • 30. 10. 2014 22:32:29
    https://webtrh.cz/diskuse/podminky-pokud-prvek-ma-tridu-nebo-ji-nema-jquery/#reply1065214
    Jiri Soustal
    verified
    rating uzivatele
    30. 10. 2014 22:49:04
    Ono by to chtělo vědět možná i tak trochu strukturu html, jestli ten span je uvnitř li, nebo úplně někde mimo.
    30. 10. 2014 22:49:04
    https://webtrh.cz/diskuse/podminky-pokud-prvek-ma-tridu-nebo-ji-nema-jquery/#reply1065213
    Jakub Hamala
    verified
    rating uzivatele
    (23 hodnocení)
    30. 10. 2014 22:49:38
    Pokud jsem to pochopil dobře, tak:
    http://jsfiddle.net/u01vfq2f/
    30. 10. 2014 22:49:38
    https://webtrh.cz/diskuse/podminky-pokud-prvek-ma-tridu-nebo-ji-nema-jquery/#reply1065212
    Antonín Bureš
    verified
    rating uzivatele
    30. 10. 2014 23:05:26
    sorry. HTML vypadá takto.
    30. 10. 2014 23:05:26
    https://webtrh.cz/diskuse/podminky-pokud-prvek-ma-tridu-nebo-ji-nema-jquery/#reply1065211
    Jiri Soustal
    verified
    rating uzivatele
    30. 10. 2014 23:08:29
    Mělo by to fungovat i takto, ale nemám teď možnost to otestovat, tak se omlouvám předem, kdyby to nefungovalo.
    30. 10. 2014 23:08:29
    https://webtrh.cz/diskuse/podminky-pokud-prvek-ma-tridu-nebo-ji-nema-jquery/#reply1065210
    Antonín Bureš
    verified
    rating uzivatele
    31. 10. 2014 08:27:59
    Díky za kód, ale bohužel toto také nefunguje. Stále se zobrazuje span u všech položek.
    31. 10. 2014 08:27:59
    https://webtrh.cz/diskuse/podminky-pokud-prvek-ma-tridu-nebo-ji-nema-jquery/#reply1065209
    JKHouba
    verified
    rating uzivatele
    (1 hodnocení)
    31. 10. 2014 09:31:44
    Četl jsem to asi 10x, ale jsem z toho spíš jelen, položka má nemá třídu, zobrazí nezobrazí... Uf.
    Nevím, jestli jsem pochopil vo co přesně go, ale myslím, že chyba bude ve vybírání prvků.
    Zkus tohle:
    Ono ani nevíme, co je ve třídách něco-hidden a něco-show.
    Takhle by to mělo být kratší:
    Jenomže tak tomu postupně odebereš třídy a co dál?
    Nebylo by lepší místo removeClass("mozek-show") dát addClass("mozek-hidden") ?
    ---------- Příspěvek doplněn 31.10.2014 v 09:56 ----------
    Napsal Antonín Bureš;1136638
    Díky za kód, ale bohužel toto také nefunguje. Stále se zobrazuje span u všech položek.
    U všech položek to znamená u všech dalších ul?
    31. 10. 2014 09:31:44
    https://webtrh.cz/diskuse/podminky-pokud-prvek-ma-tridu-nebo-ji-nema-jquery/#reply1065208
    Antonín Bureš
    verified
    rating uzivatele
    31. 10. 2014 10:03:02
    Mnohokráte díky JKHouba. Tohle řešení funguje.
    Ve třídách něco-show je cca tohle
    a ve třídách něco-hidden je toto
    Všem děkuji za rady, moc jste mi pomohli. :-)
    31. 10. 2014 10:03:02
    https://webtrh.cz/diskuse/podminky-pokud-prvek-ma-tridu-nebo-ji-nema-jquery/#reply1065207
    JKHouba
    verified
    rating uzivatele
    (1 hodnocení)
    31. 10. 2014 10:09:49
    A nestačilo by jen samotné display:none ?
    31. 10. 2014 10:09:49
    https://webtrh.cz/diskuse/podminky-pokud-prvek-ma-tridu-nebo-ji-nema-jquery/#reply1065206
    Pro odpověď se přihlašte.
    Přihlásit