2015-09-23 24 views
5

Voglio selezionare un elemento genitore ed è suo fratello. Tuttavia, la scelta dello .parent().siblings() non include il genitore del genitore originale.Seleziona genitore e tutti i suoi fratelli

$(this).parent().siblings().removeClass("active"); 

Come posso selezionare anche i fratelli del genitore e il genitore stesso? Il metodo di

+0

si desidera rimuovere classe da entrambi i genitori ed è fratelli? – Tushar

risposta

7

utilizzare jQuery addBack():

$(this).parent().siblings().addBack().removeClass("active"); 

Questo seleziona i fratelli di un elemento, e se stessa, in modo che è possibile rimuovere la classe.

Se si utilizza una versione jQuery inferiore a 1,8, utilizzare invece andSelf().

Aggiornamento: Ho aggiunto un esempio qui sotto per mostrare esattamente cosa farà questo metodo.

$('.active a').click(function(){ 
 
    $(this).parent().siblings().addBack().removeClass("active"); 
 
});
.active {background: yellow}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div class="active">I'm active. <a href="#">Remove all active</a></div> 
 
<div class="active">I'm active. <a href="#">Remove all active</a></div> 
 
<div class="active">I'm active. <a href="#">Remove all active</a></div> 
 
<div class="active">I'm active. <a href="#">Remove all active</a></div> 
 
<div class="active">I'm active. <a href="#">Remove all active</a></div>

+0

'andSelf' è deprecato. – Barmar

+0

Non seleziona i fratelli genitore e l'elemento originale? Quello che voglio è selezionare i fratelli del genitore e il GENITORE dell'elemento originale. – ink

+0

Seleziona il genitore dell'articolo originale e i suoi fratelli. Ho aggiunto un esempio alla mia risposta. –