⊗jqBsEM 30 of 113 menu

Εργασία με την μέθοδο each στο jQuery

Όταν έχουμε μια ομάδα στοιχείων που ελήφθησαν με τη βοήθεια του jQuery, μπορούμε να κάνουμε αλλαγές σε αυτά μόνο για όλα τα στοιχεία ταυτόχρονα.

Για παράδειγμα, αν θέλουμε να αλλάξουμε το κείμενο όλων των παραγράφων που βρέθηκαν - δεν θα μπορέσουμε να το κάνουμε διαφορετικό.

Σε αυτή την περίπτωση θα μας βοηθήσει η ειδική μέθοδος each, η οποία επιτρέπει την εφαρμογή μιας συνάρτησης για όλα τα στοιχεία ενός συνόλου jQuery. Εντός αυτής της συνάρτησης μπορούμε να διαχωρίσουμε τα στοιχεία και να ενεργήσουμε διαφορετικά με κάθε ένα από αυτά.

Ουσιαστικά η each είναι ένας βρόχος, με τη βοήθεια του οποίου μπορούμε να επαναλάβουμε σε όλα τα στοιχεία που βρέθηκαν. Ο σύνδεσμος προς εκείνο το στοιχείο, στο οποίο αυτή τη στιγμή περνάει ο βρόχος θα βρίσκεται στο this.

Μπορούμε απλά να χρησιμοποιήσουμε αυτό το this σε καθαρό JavaScript, όπως κάναμε πριν, για παράδειγμα, έτσι - this.innerHTML - και να εμφανίσουμε το εσωτερικό περιεχόμενο των στοιχείων μας. Αλλά είναι καλύτερα να τυλίξουμε το this σε δολάριο jQuery με αυτόν τον τρόπο - $(this) - σε αυτή την περίπτωση θα μπορούμε να εφαρμόσουμε σε αυτό όλες τις μεθόδους και τις αλυσίδες του jQuery.

Ας δούμε τον ακόλουθο κώδικα HTML:

<p class="www">κείμενο</p> <p class="www">κείμενο</p> <p class="www">κείμενο</p> <p>κείμενο</p>

Σε αυτό το παράδειγμα πρέπει να λάβουμε όλα τα στοιχεία με την κλάση www και να εμφανίσουμε στην οθόνη το περιεχόμενό τους. Πώς γίνεται αυτό: με τη βοήθεια του $('.www') παίρνουμε τα στοιχεία που χρειαζόμαστε, έπειτα με τη βοήθεια του each(test) εφαρμόζουμε σε κάθε στοιχείο που λάβαμε τη συνάρτηση test. Αυτή πρώτα θα εφαρμοστεί στην πρώτη παράγραφο, μετά στη δεύτερη, στην τρίτη και ούτω καθεξής.

Εντός της συνάρτησης το this θα δείχνει προς εκείνο το στοιχείο, στο οποίο εφαρμόζεται η συνάρτηση test - πρώτα θα είναι το πρώτο στοιχείο, μετά το δεύτερο, και ούτω καθεξής. Με τη βοήθεια μιας τέτοιας κατασκευής $(this) αντί για το συνηθισμένο this από το JavaScript θα πάρουμε ένα στοιχείο jQuery και θα εφαρμόσουμε σε αυτό τη μέθοδο html, η οποία θα πάρει το κείμενο του στοιχείου μας. Έπειτα, απλώς θα εμφανιστεί στην οθόνη:

/* Γράφουμε το όνομα της συνάρτησης test χωρίς εισαγωγικά και (), επειδή χρειαζόμαστε τον κώδικά της, και όχι το αποτέλεσμα: */ $('.www').each(test); function test() { alert($(this).html()); }

Για την επίλυση αυτού του προβλήματος μπορούν να χρησιμοποιηθούν και ανώνυμες συναρτήσεις - αυτό γίνεται πιο συχνά:

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

Επίσης, μπορούμε να περάσουμε στη μέθοδο each μια callback-συνάρτηση με παραμέτρους.

Ας προσθέσουμε στο επόμενο παράδειγμα στο τέλος όλων των li στη σελίδα τον τακτικό τους αριθμό. Τώρα στην ανώνυμη συνάρτησή μας θα περάσουμε τον αριθμό του στοιχείου και το ίδιο το στοιχείο:

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

Και τώρα αντί για elem χρησιμοποιούμε το this:

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

Αλλάξτε το περιεχόμενο όλων των li με τον τακτικό τους αριθμό.

Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη