Mój javascript wygląda
$(".adv_group").each(function(){
var eachAdvGroup = $(this);
$(document).on("keypress", **eachAdvGroup.find(".userinput:last")** ,function(){
//do something
}
})
Wiedziałem, że „włączone” zajmuje tylko String, więc jak tłumaczyć $ (this) .find (". userinput: last") w sznurek?
P.S. Chcę być ostatni .userinput w każdym .adv_group
Odpowiedzi:
8 dla odpowiedzi № 1Możesz po prostu zrobić:
$(".adv_group").on("keypress", ".userinput:last", function(){
........
});
Jquery wewnętrznie wykonuje pętlę przy wszystkich dopasowaniach .adv_group
.
A jeśli masz na myśli to .adv_group
nie ma gwarancji, że będzie istniał cały czas, a następnie albo przekaże go innemu rodzicowi, albo dokumentowi.
$(document).on("keypress", ".adv_group .userinput:last-of-type", function(){
........
});
Ponieważ adv_group jest generowany w locie, aby był wybrany na każdym poziomie, którego potrzebujesz :last-of-type
lub :last-child
i nie :last
, aby wybierał ostatni .userInput
z każdego .adv_group
zamiast ostatniego .userInput
wszystkich grup adv_groups łącznie.
1 dla odpowiedzi nr 2
The $.each()
połączenie jest całkowicie niepotrzebne, wszystko czego potrzebujesz to
$(document).on("keypress", ".adv_group .userinput:last-of-type", function(e) {
var $ele = $(this);
//do something
}