jQuery Εκσκαφική Εντολή - Μέθοδος has()
Παράδειγμα
Έλεγχος αν ένα στοιχείο βρίσκεται μέσα σε ένα άλλο στοιχείο:
$("ul").append("<li>" + ($("ul").has("li").length ? "Yes" : "No") + "</li>"); $("ul").has("li").addClass("full");
Ορισμός και χρήση
has() μειώνει τη συλλογή των στοιχείων που ταιριάζουν σε υποσυλλογή που έχουν στοιχεία που ταιριάζουν στον καθορισμένο επιλογέα ή στοιχεία DOM.
Γλώσσα
.has(selector)
Παράμετροι | Περιγραφή |
---|---|
selector | Άκρη κειμένου, περιέχει την έκφραση επιλογέα που ταιριάζει στα στοιχεία που ταιριάζουν. |
Συμπεριγραφή
Αν δοθεί ένας αντικείμενο jQuery που αντιπροσωπεύει μια συλλογή στοιχείων DOM, η μέθοδος .has() δημιουργεί έναν νέο αντικείμενο jQuery από την υποσυλλογή των στοιχείων που ταιριάζουν στον υπογονό των στοιχείων που ταιριάζουν στον καθορισμένο επιλογέα.
Περιθώρησε την παρακάτω σελίδα με ενσωματωμένη λίστα:
<ul> <li>έκδοση στοιχείου λίστας 1</li> <li>έκδοση στοιχείου λίστας 2</li> <ul> <li>έκδοση στοιχείου λίστας 2-a</li> <li>έκδοση στοιχείου λίστας 2-b</li> </ul> </li> <li>έκδοση στοιχείου λίστας 3</li> <li>έκδοση στοιχείου λίστας 4</li> </ul>
Μπορούμε να εφαρμόσουμε αυτόν τον τρόπο στην ομάδα των στοιχείων της λίστας, όπως ακολουθεί:
$('li').has('ul').css('background-color', 'red');
Το αποτέλεσμα της κλήσης είναι ότι το παρασκήνιο του έργου 2 έχει ρυθμιστεί σε κόκκινο, επειδή αυτό το έργο είναι ο μοναδικός απογόνου που έχει <ul> του <li>.