2016-08-16 134 views
-1

我需要選擇單擊元素的第一個孩子,並且我的點擊監聽器必須綁定到「test」類。我怎樣才能做到這一點?jquery按類選擇第一個孩子

<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> 

我正在嘗試這個,但它總是返回1

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

這裏的jsfiddle演示該問題 https://jsfiddle.net/6zudq9wy/

回答

3

你引用的點擊功能中的所有test類元素,所以jQuery將選擇第一個和輸出它的第一批孩子。相反,參考this

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

小提示:如果您使用jQuery,** ** $變量名稱標誌一般使用對於jQuery對象,不是它的值或任何其他類型。 – jacqbus

3

你的意思是這樣的:

$(".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>

相關問題