Il metodo parent() di jQuery

Il metodo parent() di jQuery seleziona gli elementi "parenti" scendendo di un livello nel DOM rispetto aell'elemento corrente.

.parent()

Ad esempio, in questo script il selettore $(".blu") cerca l'elemento con la classe .blu

<!DOCTYPE html>
<html>
<head>
<style>
#box { width:100px; height:100px; text-align:center; background:#f00; font-size:14px; }
#clickme { width:100px; border:1px solid #000; }
.blu { color:blue; }
.rosso { color:red; }
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
<body>
<div id="clickme">Click here</div>
<p><b>A</b></p>
<div>
<p><b>B</b></p>
<p class=blu><b>C</b></p>
<p><b>D</b></p>
</div>
<p><b>E</b></p>
<script>
$( "#clickme" ).click(function() {
$(".blu").parent().addClass("rosso");
});
</script>

</body>
</html>

Quando clicco sul box clickme, il selettore $(".blu") seleziona l'elemento a cui è associata la classe .blu

Poi il metodo .parent() seleziona gli altri elementi vicini all'elemento corrente scendendo di un livello nel DOM e gli associa la classe .rosso.

In questo caso, jQuery seleziona il paragrafo con la lettera B e quello con la lettera D

<p><b>A</b></p>
<div>
<p><b>B</b></p>
<p class=blu><b>C</b></p>
<p><b>D</b></p>
</div>
<p><b>E</b></p>

Nota. Il metodo parent() non seleziona anche l'elemento corrente (C) ma soltanto gli altri elementi "parenti". Per inserire nella selezione anche l'elemento corrente devo concatenare come un ulteriore metodo add() o addBack()

La classe .rosso colora di rosso il contenuto degli elementi selezionati.

output dello script

Tutti gli altri elementi del DOM antenati dell'elemento corrente oltre il livello più vicino non sono influenzati dal metodo parent().

E così via.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

jQuery