如何在不使用jQuery横向的情况下找到第一个元素?

时间:2012-02-20 01:36:00

标签: jquery

我有一组按钮,点击后,应选择按钮后的第一个文本框并插入日期。我的问题是,由于我的表单是动态生成的,因此硬编码的横向将不起作用(即文本框并不总是紧跟在按钮之后,其间可能还有其他元素)。我尝试过使用find(),但这似乎不起作用。有什么想法吗?

$('.required').on('click',function(){

        ...

        $(this).find(".timestamp").first().val(dateStr);

        ...

});

修改

$(this).parent().parent().siblings().find(".timestamp").first().val(dateStr); 

更接近,但上面总是填充页面上第一个文本框的值。我尝试过使用nearest()而不是first(),但这似乎也不起作用。有什么想法吗?

4 个答案:

答案 0 :(得分:1)

.find()遍历元素后代,而不是元素的兄弟姐妹。

听起来你想要更像的东西:

$(this).siblings('.timestamp').first().val(dateStr);

答案 1 :(得分:0)

使用closest()

$(this).closest(".timestamp").val(dateStr);

答案 2 :(得分:0)

$(this).find(".timestamp:first-child").val("SetYourVal");

答案 3 :(得分:0)

 $(this).find(".timestamp:first").val(dateStr); //