⊗jqBsEM 30 of 113 menu

Werk met die each-metode in jQuery

Wanneer ons 'n groep elemente het wat verkry is met behulp van jQuery, kan ons slegs veranderinge daarin aanbring vir alle elemente gelyktydig.

Byvoorbeeld, as ons die teks van alle gevinde paragrawe wil verander - sal ons nie in staat wees om dit verskillend te maak nie.

In hierdie geval sal die spesiale metode each ons help, wat dit moontlik maak om 'n sekere funksie op alle elemente van 'n jQuery-stel toe te pas. Binne hierdie funksie sal ons in staat wees om die elemente te skei en anders te handel met elkeen van hulle.

In wese is each 'n lus, waarmee jy al die gevinde elemente kan deurloop. Die verwysing na die element waarop die lus tans loop, sal in this lê.

Ons kan eenvoudig hierdie this gebruik in suiwer JavaScript, soos ons vantevore gedoen het, byvoorbeeld so - this.innerHTML - en die interne inhoud van ons elemente uitskryf. Maar dit is beter om this in jQuery se dollar te verpak so - $(this) - in hierdie geval sal ons al die metodes en jQuery-kettings daarop kan toepas.

Kom ons kyk na die volgende HTML-kode:

<p class="www">text</p> <p class="www">text</p> <p class="www">text</p> <p>text</p>

In hierdie voorbeeld moet ons al die elemente met klas www kry en hul inhoud op die skerm vertoon. Hoe dit gedoen word: met behulp van $('.www') kry ons die elemente wat ons nodig het, dan met behulp van each(test) pas ons die funksie test op elke verkrygde element toe. Dit sal eers op die eerste paragraaf toegepas word, dan op die tweede, op die derde, ensovoorts.

Binne die funksie sal this verwys na die element waarop die funksie test tans toegepas word - eers sal dit die eerste element wees, dan die tweede, ensovoorts. Met so 'n konstruksie $(this) sal ons, in plaas van 'n gewone this van JavaScript, 'n jQuery-element kry en die metode html daarop toepas, wat die teks van ons element sal kry. Wel, dan skryf dit dit net op die skerm:

/* Skryf die funksienaam test sonder aanhalingstekens en (), aangesien ons die kode daarvan nodig het, nie die resultaat nie: */ $('.www').each(test); function test() { alert($(this).html()); }

Om hierdie taak op te los, kan anonieme funksies ook gebruik word - dit word meer algemeen gedoen:

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

Ons kan ook 'n callback-funksie met parameters aan die each-metode oorhandig.

Kom ons voeg in die volgende voorbeeld aan die einde van alle li op die bladsy hul volgorde-nommer by. Nou sal ons die elementnommer en die element self aan ons anonieme funksie oorhandig:

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

En nou gebruik ons this in plaas van elem:

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

Verander die inhoud van alle li na hul volgorde-nommer.

Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp