Ο ψευδο-κλάση :has στο jQuery
Ο ψευδο-κλάσης
has
επιλέγει στοιχεία βάσει του περιεχομένου τους. Ας δούμε ένα παράδειγμα.
Ας υποθέσουμε ότι έχουμε τον ακόλουθο κώδικα HTML:
<p>κείμενο με ετικέτα <b>b</b></p>
<p>κείμενο με ετικέτα <i><b>b</b></i></p>
<p>κείμενο</p>
Για παράδειγμα,
ας επιλέξουμε όλες τις παραγράφους, μέσα στις οποίες υπάρχουν ετικέτες
b:
$('p:has(b)');
Παρατηρήστε ότι στο παράδειγμα θα επιλεγούν
τόσο η πρώτη παράγραφος, όσο και η δεύτερη, παρά
το γεγονός ότι στη δεύτερη παράγραφο η ετικέτα b
δεν βρίσκεται απευθείας μέσα στο p,
αλλά βρίσκεται πρώτα μέσα σε i.
Εάν, however, χρειάζεστε άμεση ένθεση, θα πρέπει να κάνετε το εξής:
$('p:has(>b)');
Σε αυτήν την περίπτωση, μόνο η πρώτη παράγραφος θα επιλεγεί.
Λάβετε και βάψτε με κόκκινο χρώμα όλους
τους h2, μέσα στους οποίους υπάρχει η ετικέτα i.
Λάβετε και βάψτε με κόκκινο χρώμα όλους
τους h2, που περιέχουν άμεσα
την ετικέτα i.