⊗jqBsEM 30 of 113 menu

A each metódus használata jQuery-ben

Amikor egy csoport elemeink van, amelyeket jQuery-vel kaptunk, csak az összes elemre egyszerre tudunk változtatásokat végrehajtani.

Például, ha meg akarjuk változtatni az összes talált bekezdés szövegét - nem lesz lehetőségünk különbözővé tenni azt.

Ebben az esetben segítségünkre lehet a speciális each metódus, amely lehetővé teszi egy adott függvény alkalmazását a jQuery halmaz összes elemére. Ezen függvényen belül képesek leszünk elkülöníteni az elemeket, és másképp kezelni mindegyiket.

Lényegében a each egy ciklus, amelynek segítségével végig lehet iterálni az összes talált elemen. Azon elemre mutató hivatkozás, amelyen éppen a ciklus fut, a this-ben lesz.

Egyszerűen használhatjuk ezt a this-t tiszta JavaScriptben, ahogy azt korábban tettük, például így - this.innerHTML - és kiírhatjuk elemeink belső tartalmát. De jobb, ha becsomagoljuk a this-t jQuery dollárba, így - $(this) - ebben az esetben alkalmazhatunk rá minden jQuery metódust és láncolatot.

Nézzük a következő HTML kódot:

<p class="www">szöveg</p> <p class="www">szöveg</p> <p class="www">szöveg</p> <p>szöveg</p>

Ebben a példában meg kell kapnunk az összes www osztállyal rendelkező elemet és ki kell írnunk a képernyőre a tartalmukat. Hogyan történik: a $('.www') segítségével megkapjuk a szükséges elemeket, majd a each(test) segítségével minden megkapott elemre alkalmazzuk a test függvényt. Először az első bekezdésre alkalmazza, majd a másodikra, a harmadikra, és így tovább.

A függvényen belül a this arra az elemre fog mutatni, amelyre a függvényt alkalmazzuk - először ez az első elem lesz, majd a második, és így tovább. Egy ilyen konstrukcióval $(this) a szokásos this helyett jQuery elemet kapunk és rá alkalmazzuk a html metódust, amely megkapja elemünk szövegét. Ezután egyszerűen kiírja a képernyőre:

/* A test függvény nevét idézőjelek és () nélkül írjuk, mivel a kódjára van szükségünk, nem az eredményére: */ $('.www').each(test); function test() { alert($(this).html()); }

A feladat megoldásához használhatunk név nélküli függvényeket is - ezt szokták leggyakrabban:

$('.www').each(function() { alert($(this).html()); });

Továbbá átadhatjuk a each metódusnak a callback függvényt paraméterekkel.

A következő példában adjuk hozzá a végéhez minden oldalon lévő li elemnek a sorszámát. Most a név nélküli függvényünkbe átadjuk az elem sorszámát és magát az elemet:

$('li').each(function (index, elem) { $(elem).append(index); });

Most pedig a elem helyett használjuk a this-t:

$('li').each(function (index) { $(this).append(index); });

Cserélje le az összes li elem tartalmát a sorszámukra.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás