2

我的 javascript 看起来像

$('.adv_group').each(function(){
    var eachAdvGroup = $(this);
    $(document).on('keypress', **eachAdvGroup.find('.userinput:last')** ,function(){
         //do something
    }
})

我知道'on'只需要字符串,那么如何翻译$(this).find('.userinput:last')转换为字符串?

PS我想在每个.adv_group中获得最后一个.userinput

4

2 回答 2

8

你可以这样做:

$('.adv_group').on('keypress', '.userinput:last', function(){
    ........
});

Jquery 在内部对所有匹配的.adv_group.

如果你的意思.adv_group是不能保证一直存在,那么要么将它委托给另一个父级,要么委托给文档。

$(document).on('keypress', '.adv_group .userinput:last-of-type', function(){
    ........
});

由于 adv_group 是动态生成的,以便在您需要使用:last-of-typeor:last-child和 not的每个级别:last选择它,因此它选择最后.userInput一个而不是所有组合的所有 adv_groups.adv_group的最后一个。.userInput

演示

于 2013-10-07T19:56:34.527 回答
1

电话是完全没有必要的$.each(),你所需要的只是

$(document).on('keypress', '.adv_group .userinput:last-of-type', function(e) {
     var $ele = $(this);
     //do something
}
于 2013-10-07T19:57:34.547 回答