Есть ли способ выполнить один и тот же код для разных элементов на странице?
$('.class1').click(function() {
some_function();
});
$('.class2').click(function() {
some_function();
});
вместо этого сделать что-то вроде:
$('.class1').$('.class2').click(function() {
some_function();
});
Спасибо
.add()
работает и с объектами jquery$('.class1, .class2')
и$('.class1').add('.class2')
? в каком случае мы должны использовать.add()
?Я обычно использую
on
вместоclick
. Это позволяет мне добавлять больше слушателей событий к определенной функции.Надеюсь, поможет!
источник
Убедитесь, что вы поставили пробел, как $ ('. Class1, пробел здесь.class2'), иначе он не будет работать.
источник
Просто используйте
$('.myclass1, .myclass2, .myclass3')
для нескольких селекторов. Кроме того, вам не нужны лямбда-функции для привязки существующей функции к событию click.источник
Другой вариант, если предположить, что ваши элементы хранятся как переменные (что часто является хорошей идеей, если вы обращаетесь к ним несколько раз в теле функции):
Использует преимущества цепочки jQuery и позволяет использовать ссылки.
источник
Если у вас есть или вы хотите сохранить свои элементы как переменные (объекты jQuery), вы также можете зациклить их:
источник
Добавьте разделенный запятыми список классов следующим образом:
источник
Мы также можем кодировать, как следует, я использовал событие размытия здесь.
источник
У меня есть ссылка на объект, содержащий множество полей ввода, который должен обрабатываться одним и тем же событием. Поэтому я просто использую find (), чтобы получить все внутренние объекты, которые должны иметь событие
Если ваши объекты находятся на один уровень ниже, можно использовать метод children (), а не метод find () .
источник
В дополнение к превосходным примерам и ответам выше, вы также можете сделать «поиск» для двух разных элементов, используя их классы. Например:
Это должно вывести «HelloWorld».
источник