2016-05-13 14 views
0

Ich brauche die jQuery-Anweisung „.findme“ in diesem Code zu finden:jQuery - wie Element im folgenden Kind zu finden?

$('.clicky').click(function() { 
    // the .find() method doesn't do it 
    $(this).find('.findme').css('color', 'red'); 
}); 

<div class='clicky'></div> 
<div class='brother'> 
    <div class='findme'>Here I am</div> 
</div> 

Ich habe versucht, Variationen .find() und .next() und .children() und ich kann es nicht ganz klappen ....

Antwort

2

this in $(this).find('.findme') bezieht sich eigentlich auf das Element, das (die div mit der Klasse clicky geklickt wurde.

.find() eigentlich die Nachkommen des Elements sucht Sie es anrufen, und da "findme "ist nicht innerhalb der" clicky "div, es findet es nicht.

Sie sollten stattdessen jQuerys .next() Funktion verwenden, um die Geschwister unmittelbar nach dem „clicky“ div zu bekommen (das ist die „brother‚), und dann suchen Sie nach dem‘findme“ div.

$(this).next().find(".findme").css("color", "red"); 
1

Sie können versuchen können

$('.clicky').click(function() { 
    // the .find() method doesn't do it 
    $(this).siblings().children('.findme').css('color', 'red'); 
}); 

zu ändern, und ich denke, dass Sie den Text für das div klicken mich vermissen

<div class='clicky'>click me!!!</div> 
<div class='brother'> 
    <div class='findme'>Here I am</div> 
</div>