2016-08-16 25 views
-1

Ich muss das erste Kind des angeklickten Elements auswählen und mein Klick-Listener muss an die Klasse "test" gebunden sein. Wie kann ich das machen?jquery wähle das erste Kind nach Klasse

<span class="test">click<input type="text" value="1"></span> 
<span class="test">click<input type="text" value="2"></span> 
<span class="test">click<input type="text" value="3"></span> 
<span class="test">click<input type="text" value="4"></span> 

Ich versuche, diese aber es ist immer 1 zurück.

$(".test").click(function(){ 
    $test = $(".test").children("input[type='text']:first").val(); 
    alert($test); 
}); 

Hier ist jsfiddle, die das Problem https://jsfiddle.net/6zudq9wy/

Antwort

3

Sie verweisen alle test Klasse Elemente in der Klick-Funktion zeigt, so jQuery wird die erste und die Ausgabe seiner ersten Kinder holen. Stattdessen verweisen this:

$(".test").click(function(){ 
    $test = $(this).children("input[type='text']:first").val(); 
    alert($test); 
}); 
+2

Kleiner Tipp: Wenn Sie JQuery verwenden, ** $ ** Zeichen in Variablennamen allgemein verwendet wird, für jQuery-Objekte, nicht für Werte oder andere Arten. – jacqbus

3

Sie so etwas wie dies bedeuten:

$(".test").click(function(){ 
 
    alert ($(this).children().eq(0).val()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<span class="test">click<input type="text" value="1"></span> 
 
    <span class="test">click<input type="text" value="2"></span> 
 
    <span class="test">click<input type="text" value="3"></span> 
 
    <span class="test">click<input type="text" value="4"></span>

Verwandte Themen