jquery按类选择第一个孩子

时间:2016-08-16 18:00:39

标签: javascript jquery

我需要选择clicked元素的第一个子元素,我的点击监听器必须绑定到“test”类。我怎么能这样做?

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

2 个答案:

答案 0 :(得分:3)

您正在引用click函数中的所有test类元素,因此jQuery将选择第一个并输出其&#39;第一个孩子。相反,请参考this

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

答案 1 :(得分: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>