Autor | Zpráva | ||
---|---|---|---|
Annie Profil |
#1 · Zasláno: 6. 10. 2015, 14:08:40
var counter = 0;
$(".question:nth-child("+(++counter)+")").show(); Dělám nějaký kvíz a chci aby se mi pokaždé zvýšilo nth-child a podle toho se ukázal další div... jde to takhle řešit? nejsem si jistá, jestli je to ++counter takhle správně |
||
Kcko Profil |
Eh? Živá ukázka? Co myslíš, že se stane? bude to volat nth-child(1) a dál už nic, vybere ti první .question. K čemu to je?
|
||
Annie Profil |
#3 · Zasláno: 6. 10. 2015, 15:26:28
To je jen část - šlo o to, jestli se takhle použitý to counter s tím ++ bude zvyšovat, jako jestli se to dá takhle zapsat..
|
||
Tomáš123 Profil |
#4 · Zasláno: 6. 10. 2015, 15:31:11
Annie:
A prečo to ukazovať cez CSS? Zmenu aj tak zaisťuje JS. Cez CSS je to zbytočná obchádzka so slabšou podporou. |
||
Annie Profil |
#5 · Zasláno: 6. 10. 2015, 15:46:21
Možná je to zbytečné, ale mě to prostě zajímalo takhle s CSS :))
|
||
Joker Profil |
#6 · Zasláno: 6. 10. 2015, 15:57:03
Tomáš123:
Vždyť v té ukázce to není přes CSS, ale přes JavaScript. Ale připadá mi to zbytečně složitá konstrukce. Nevím, jak přesně je to v jQuery, ale v prostém JS bych ten prvek zaměřil nějak takhle: var questions = document.querySelectorAll(".question"); var toCoMeZajima = null; if (counter < questions.length) /* pokud counter není za posledním prvkem */ { toCoMeZajima = questions[counter]; } |
||
MartinP_ Profil * |
#7 · Zasláno: 6. 10. 2015, 18:21:45
Místo :nth-child můžeš použít jQuery funkci .eq().
var counter = 0; $(".question").eq(++counter).show(); Živá ukázka Kdybys to chtěl bez jQuery, tak se dá Jokerův köd ještě zkrátit: var toCoMeZajima = document.querySelectorAll(".question")[++counter] || null; |
||
Tomáš123 Profil |
#8 · Zasláno: 6. 10. 2015, 20:00:30
Joker:
Narážal som na nth-child . To je v JS? Myslel som, že Annie mení JavaScriptom CSS selektor.
|
||
Joker Profil |
#9 · Zasláno: 7. 10. 2015, 09:54:39
Tomáš123:
„Narážal som na nth-child . To je v JS?“
Ano, je to v JS. Metody querySelector, querySelectorAll a potažmo jQuery umožňují vybírat prvky DOMu přes selektory podobné CSS selektorům. Resp. podle specifikace pokud prohlížeč umí DOM i CSS selektory, měl by podporovat v obou případech stejné. Ale je tam jen normativní SHOULD, ne MUST. MartinP: „se dá Jokerův köd ještě zkrátit“ Určitě, akorát mi to přišlo pro začátečníka špatně srozumitelné, takže jsem to napsal „ukecaně“. |
||
Časová prodleva: 10 let
|
0