====== jQuery ====== **jQuery** vzniklo v roce 2006 (autorem je John Resig) v době, kdy prohlížeče (Internet Explorer, Firefox, Safari) interpretovaly JavaScript každý trochu jinak. jQuery tyto rozdíly sjednotilo do jedné jednoduché syntaxe. ===== 1. Proč bylo jQuery revoluční? ===== Před příchodem jQuery vyžadovaly i jednoduché úkony mnoho řádků kódu. jQuery přineslo: * **Jednoduché selektory:** Výběr prvků na stránce pomocí CSS syntaxe (např. ''$("#tlacitko")''). * **Chainability (Řetězení):** Možnost provádět více operací na jednom prvku za sebou v jednom řádku kódu. * **Cross-browser kompatibilita:** Programátor nemusel řešit, jestli jeho kód poběží v IE6 nebo v Chromu – knihovna to vyřešila za něj. * **Rozsáhlý ekosystém:** Tisíce hotových zásuvných modulů (pluginů) pro galerie, kalendáře nebo validaci formulářů. ===== 2. Porovnání: Čistý JS vs. jQuery ===== Úkol: Skrýt všechny odstavce s třídou "skrytý" po kliknutí na tlačítko. **Čistý JavaScript (Vanilla JS):** document.querySelectorAll('button').forEach(button => { button.addEventListener('click', () => { document.querySelectorAll('p.skryty').forEach(p => { p.style.display = 'none'; }); }); }); **jQuery:** $('button').click(function() { $('p.skryty').hide(); }); [Image comparison of vanilla JavaScript vs jQuery code length for the same task] ===== 3. Hlavní funkce knihovny ===== * **DOM Manipulace:** Snadné přidávání, mazání nebo úprava HTML elementů a jejich CSS stylů. * **Event Handling:** Jednoduché zachytávání kliknutí, psaní na klávesnici nebo odesílání formulářů. * **Animace:** Vestavěné efekty jako ''fadeIn()'', ''slideUp()'' nebo ''animate()'' pro vlastní pohyby prvků. * **AJAX:** Zjednodušená komunikace se serverem na pozadí bez nutnosti obnovovat celou stránku. ===== 4. Úpadek jQuery: Je ještě potřeba? ===== V posledních letech popularita jQuery klesá. Důvody jsou: * **Nativní JS dospěl:** Moderní prohlížeče už implementovaly funkce, které dříve umělo jen jQuery (např. ''fetch()'' místo ''$.ajax()'' nebo ''querySelector''). * **Nové frameworky:** Technologie jako **React, Vue** nebo **Angular** řeší tvorbu uživatelského rozhraní úplně jiným, efektivnějším způsobem. * **Velikost:** Pro jednoduché stránky je jQuery zbytečná zátěž (cca 30 KB navíc), která zpomaluje načítání na mobilech. ===== 5. Kde se s ním stále setkáte? ===== I přes úpadek jQuery stále pohání **přes 70 % nejnavštěvovanějších webů**. Je to díky: * **WordPressu:** jQuery je stále pevnou součástí nejrozšířenějšího redakčního systému. * **Legacy kód:** Miliony existujících webů jsou na něm postaveny a jejich přepisování by bylo příliš drahé. * **Bootstrap (starší verze):** Populární CSS framework dříve na jQuery plně spoléhal (verze 5 už ho však odstranila). > **Zajímavost:** Znak dolaru **$** v jQuery je ve skutečnosti jen zkratka pro funkci s názvem ''jQuery''. Volání ''$('#id')'' je tedy totéž jako ''jQuery('#id')''. Tento symbol se stal tak ikonickým, že si ho mnozí pletou se samotným JavaScriptem. [[it_encyklopedie:javascript|Zpět na JavaScript]]