我的javascript看起来像
$('.adv_group').each(function(){
var eachAdvGroup = $(this);
$(document).on('keypress', **eachAdvGroup.find('.userinput:last')** ,function(){
//do something
}
})
我知道'on'只接受String,所以如何将 $(this).find('。userinput:last')翻译成字符串?
P.S。我想在每个 .adv_group
中获得最后 .userinput答案 0 :(得分: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-type
或:last-child
而非:last
,以便选择最后{{1}每个.userInput
代替所有adv_groups的所有.adv_group
中的最后一个。
<强> Demo 强>
答案 1 :(得分:1)
$.each()
电话完全没必要,您只需要
$(document).on('keypress', '.adv_group .userinput:last-of-type', function(e) {
var $ele = $(this);
//do something
}