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.
Tutti gli altri elementi del DOM antenati dell'elemento corrente oltre il livello più vicino non sono influenzati dal metodo parent().
E così via.