IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

8. diel - Selektory v jQuery, časť tretia

V minulej lekcii, Selektory v jQuery, časť druhá , sme pokračovali s prieskumom jQuery selektorov. V dnešnom JavaScript tutoriálu túto tému dokončíme.

Príprava HTML obsahu

Rovnako ako minule si selektory budeme ukazovať na rovnakom HTML dokumentu. Pre úplnosť uvádzam znovu jeho HTML a CSS kód:

Html

<ul id="web">
    <h2>WEB</h2>
    <li>HTML</li>
    <li>CSS</li>
    <li>JS</li>
    <li>PHP</li>
    <li>ASP .NET</li>
    <li>JAVA</li>
</ul>
<ul id="desktop">
    <h2>DESKTOP</h2>
    <li>JAVA</li>
    <li>C# .NET</li>
    <li>VB .NET</li>
    <li>PYTHON</li>
    <li>PASCAL</li>
</ul>
<ul id="zvirata">
    <h2>ZVÍŘATA</h2>
    <li>PES</li>
    <li>KOČKA</li>
    <li>PAPOUŠEK</li>
    <li>LEV</li>
    <li>DRAK</li>
    <li>ŽELVA</li>
</ul>
<ul id="barvy">
    <h2>BARVY</h2>
    <li>RŮŽOVÁ</li>
    <li>MODRÁ</li>
    <li>ČERNÁ</li>
    <li>ZELENÁ</li>
</ul>
<ul id="nesmysly">
    <h2>NESMYSLY</h2>
    <li data-nesmysl="69">69</li>
    <li data-nesmysl="69 xoxo">69 xoxo</li>
    <li data-nesmysl="69-nth">69-nth</li>
    <li data-nesmysl="nu69kl tik">nu69kl tik</li>
    <li data-nesmysl="hute 69p ui">hute 69p ui</li>
    <li data-nesmysl="qwe 69rty" id="qwerty">qwe 69rty</li>
    <li data-nesmysl="69 BIT">69 BIT</li>
    <li data-nesmysl="party 69">party 69</li>
</ul>

CSS

body {
    background: #e5e5e5;
    color: #3d3d3d;
    margin: 0px;
    font-family: 'Open Sans';
}

* {
    margin: 0px;
    padding: 0px;
    text-decoration: none;
    list-style-type: none;
    border: 0px;
}

ul {
    float: left;
    padding: 10px 20px;
    text-align: center;
}

ul li {
    background : #CACACA;
    color      : #444;
    width      : 80px;
    border     : 2px solid #A6A6A6;
    margin     : 10px 0;
    padding    : 5px 10px;
    font-family: 'Open Sans';
    font-size  : 18px;
    text-align: left;
}

.green {
    background : #61E452;
    color      : #ededed;
    border     : 2px solid #1A7010;
}

.blue {
    background : #0080C0;
    color      : #ededed;
    border     : 2px solid #004080;
}

.yellow {
    background : #F4FF2F;
    color      : #444;
    border     : 2px solid #D0CB04;
}

.red {
    background : #ed1c24;
    color      : #ededed;
    border     : 2px solid #7f0011;
}

Dokument vyzerá zatiaľ takto:

Tvoja stránka
localhost

JQuery selektory

$ ( ": header")

Selektor :header nám vyberie všetky nadpisy, teda elementy <h1>, <h2>... až do <h6>.

Príklad:

$(":header").addClass("blue");

výsledok:

Tvoja stránka
localhost

$ ( ": animated")

Pomocou selektora :animated vyberieme všetky elementy, ktoré sa práve animujú. Môžeme ho využiť pre úpravu bežiacich animácií.

$ ( ": hidden")

Pomocou :hidden vyberieme všetky elementy, ktoré sú skryté, teda majú display: none.

$ ( ": visible")

Naopak selektor :visible nám zas vyberie všetky elementy, ktoré sú viditeľné. Majú teda iný display ako je display: none.

$ ( ": lt (i)")

Tento selektor vyberie daný počet elementov z výberu, ktorých index je menší ako zadaný. Technicky je vybrané i prvých elementov. Pokiaľ zadáme záporný počet, budú sa indexy počítať od konca.

Príklad:

$("ul li:lt(20)").addClass("blue");

výsledok:

Tvoja stránka
localhost

A skúsme si aj záporný index:

$("ul li:lt(-20)").addClass("blue");

výsledok:

Tvoja stránka
localhost

$ ( ": gt (i)")

Selektor :gt nám vyberie všetky elementy, ktoré majú index väčší ako aj. Indexy sa počítajú od 0. Môžeme zadať aj zápornú hodnotu, čím opäť spôsobíme, že sa indexy budú počítať od konca.

Príklad:

$("ul li:gt(20)").addClass("blue");

výsledok:

Tvoja stránka
localhost

A ukážme si aj použitie záporného indexu:

$("ul li:gt(-20)").addClass("blue");

výsledok:

Tvoja stránka
localhost

$ ( ": odd")

Tento selektor vyberie všetky položky s nepárnym indexom. Počítané od nuly.

Príklad:

$("ul li:odd").addClass("blue");

výsledok:

Tvoja stránka
localhost

$ ( ": even")

Selektor, ako asi tušíte, vyberie všetky položky s párnym indexom. Počítané od nuly.

Príklad:

$("ul li:even").addClass("blue");

výsledok:

Tvoja stránka
localhost

$ ( ": first")

Pomocou :first vyberieme z elementov, ktoré zodpovedajú danému selektoru, len ten prvý.

Príklad:

$("ul li:first").addClass("blue");

výsledok:

Tvoja stránka
localhost

$ ( ": last")

A pomocou :last vyberieme z elementov, ktoré zodpovedajú danému selektoru, ten posledný.

Príklad:

$("ul li:last").addClass("blue");

výsledok:

Tvoja stránka
localhost

$ ( ": eq (i)")

Ak chceme z elementov, ktoré nám selektor vybral, získať element pod určitým indexom, využijeme na to :eq. Pri zadaní zápornej hodnoty sa index počíta odzadu.

Príklad:

$("ul li:eq(5)").addClass("blue");

výsledok:

Tvoja stránka
localhost

A negatívny index:

$("ul li:eq(-5)").addClass("blue");

výsledok:

Tvoja stránka
localhost

$ ( ": has (selector)")

Selektor :has vyberie všetky elementy, ktoré v sebe obsahujú daného potomka.

Príklad:

$("ul:has(li)").addClass("blue");

výsledok:

Tvoja stránka
localhost

$ ( ": parent")

Tento selektor nám vyberie rodičovskej elementy všetkých elementov vo výbere.

Príklad:

$("ul li:parent").addClass("blue");

výsledok:

Tvoja stránka
localhost

JQuery selektory pre formulár

Knižnica jQuery obsahuje tiež niekoľko selektorov pre formuláre. Sú to vlastne skratky k nám už známym selektorům.

$ ( "input")

Tento selektor nám vyberie úplne všetky input.

$ ( ": button")

Selektor :button nám vyberie všetky tlačidlá. Je teda rovnaký ako $("button") alebo $("input[type='button']").

$ ( ": checkbox")

Vyberie všetky checkboxy, ekvivalent môže byť $("input[type='checkbox']").

$ ( ": file")

Selektor je rovnaký ako $("input[type='file']"). Input typu file je tlačidlo, ktoré nám umožní vybrať nejaký súbor z počítača a ten následne nahrať napríklad na server.

$ ( ": image")

Selektor nám vyberie všetky input s type="image". Zodpovedá teda zápisu $("[type='image']"").

$ ( ": password")

Input určená pre hesla nám vyberie tento selektor. Je rovnaký ako $("input[type='password']").

$ ( ": radio")

Selektor vyberie všetky radio buttony, možno ho zapísať aj ako $("input[type='redio']").

$ ( ": reset")

Tento selektor nám vyberie všetky, pre niekoho možno neznáma, resetovacie tlačidla. Dá sa zapísať aj ako $("input[type='reset']"). Resetovacie tlačidla nastaví všetkým poliam formulára predvolené hodnoty.

$ ( ": selected")

Selektor vyberie všetky vybrané možnosti reprezentovanej elementy <option>. Nefunguje však pre :checked, teda pre radio buttony alebo checkbox.

$ ( ": submit")

Selektor je určený pre vybranie inputov typu submit. Teda tých, ktoré vám odošlú formulár. Zodpovedá selektora $("input[type='submit']").

$ ( ": text")

Vyberie input typu text. Dá sa alternatívne zapísať ako $("input[type='text']").

Týmto máme selektory v jQuery prebranej! V budúcej lekcii, Štýlovanie v jQuery , sa budeme zaoberať stylovaním.


 

Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 264x (1.74 kB)
Aplikácia je vrátane zdrojových kódov v jazyku JavaScript

 

Predchádzajúci článok
Selektory v jQuery, časť druhá
Všetky články v sekcii
Základy jQuery
Preskočiť článok
(neodporúčame)
Štýlovanie v jQuery
Článok pre vás napísal Honza Bittner
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Aktivity