jQuery: $(this)
V předchozím článku jsme si ukazovali, jak můžeme simulovat hover událost na jakémkoliv elementu v DOMu. Ve skriptu byla tato část kódu: $(this). Rád bych podal menší vysvětlení pro ty, kteří jQuery vidí opravdu poprvé a proč jsme v daném skriptu nemohli použít místo $(this).addClass('hover') následující kód $('p').addClass('hover'). Pokud bychom tak učinili, stalo by se to, že by v okamžiku detekce události hover nad jedním elementem <p> se CSS třída hover přiřadila všem elementům <p>, které se vyskytují v dokumentu, nikoliv tedy pouze tomu jednomu, nad kterým zrovna je kurzor myši.
Proto se používá $(this), díky kterému se vytvoří jQuery objekt korespondující se specifikovaným DOM elementem a my tak můžeme spouštět kód, který se vztahuje pouze k danému objektu, na nějž je navázáno nějaké chování. To nás samozřejmě neomezuje v tom, že bychom nemohli pracovat s jiným než specifikovaným elementem (nebo setem elementů). Jednou ze stěžejních vlastností jQuery je, jak jsem psal v prvním článku v této rubrice, řetěžení (tzv. chaining). Díky tomu můžete pracovat klidně s rodičovským prvkem specifikovaného elementu nebo s jeho potomkem nebo klidně se zcela jiným prvkem, který si nadefinujete. To si ostatně ukážeme v dalších článcích.
Pokud se vám líbil tento článek můžete Profi magazín odebírat pomocí RSS.
Možné související články:


