jQuery Traversal - parents() Method
Example
Find all parent elements of each b element:
$("b").parents()
Definition and Usage
parents() Retrieves the ancestor elements of each element in the current matched element set, using a selector for filtering is optional.
.parents()selector)
Παράμετρος | Περιγραφή |
---|---|
selector | Τιμή字符串, που περιέχει την έκφραση επιλογής που χρησιμοποιείται για την αντιστοίχιση στοιχείων. |
Συμπεριγραφή
Αν δώσουμε ένα αντικείμενο jQuery που αντιπροσωπεύει μια συλλογή στοιχείων DOM, η μέθοδος .parents() επιτρέπει να αναζητήσουμε τους προγονικούς στοιχεία αυτών των στοιχείων στο δέντρο DOM και να δημιουργήσουμε ένα νέο αντικείμενο jQuery από τα ταιριάζοντα στοιχεία, που είναι σειραγμένο από τον πλησιέστερο γονέα προς τα πάνω. Τα στοιχεία επιστρέφονται από τον πλησιέστερο γονέα προς τα έξω. .parent() Η μέθοδος είναι παρόμοια, αλλά η δεύτερη περιηγείται προς τα πάνω στο δέντρο DOM σε μοναδικό επίπεδο.
Η μέθοδος αυτή αποδέχεται προαιρετική έκφραση επιλογής, του ίδιου τύπου με τα ορίσματα που μεταφέρονται στη συνάρτηση $(). Αν εφαρμόσουμε αυτή την έκφραση, θα φιλτράρει τα στοιχεία ελέγχοντας αν ταιριάζουν στην έκφραση.
Πensa σε αυτή τη σελίδα με βασική κατανομή λίστας:
<ul class="level-1"> <li class="item-i">I</li> <li class="item-ii">II <ul class="level-2"> <li class="item-a">A</li> <li class="item-b">B <ul class="level-3"> <li class="item-1">1</li> <li class="item-2">2</li> <li class="item-3">3</li> </ul> </li> <li class="item-c">C</li> </ul> </li> <li class="item-iii">III</li> </ul>
Αν ξεκινήσουμε από το στοιχείο A, μπορούμε να βρούμε τα προγονικά στοιχεία του:
$('li.item-a').parents().css('background-color', 'red');
Προσπάθησε να το δοκιμάσεις προσωπικά
Η αποτελεσματική της κλήσης είναι να ρυθμιστεί το φόντο σε κόκκινο για τα στοιχεία του level-2, item II και του level-1 (μέχρι το <html>) του δέντρου DOM. Επειδή δεν εφαρμόσαμε έκφραση επιλογής, ο γονέας στοιχείο έγινε φυσικά μέρος του αντικειμένου. Αν εφαρμόσουμε έκφραση επιλογής, θα ελέγξει αν το στοιχείο ταιριάζει πριν το περιέχει. Επειδή δεν εφαρμόσαμε έκφραση επιλογής, όλοι οι προγονικοί στοιχείς είναι μέρος του αντικειμένου του jQuery που επιστρέφεται. Αν εφαρμόσουμε έκφραση επιλογής, θα περιέχει μόνο τα ταιριάζοντα στοιχεία.