¿Hay alguna forma de ejecutar el mismo código para diferentes elementos en la página?
$('.class1').click(function() {
some_function();
});
$('.class2').click(function() {
some_function();
});
en lugar de hacer algo como:
$('.class1').$('.class2').click(function() {
some_function();
});
Gracias
.add()
funciona con objetos jquery$('.class1, .class2')
y$('.class1').add('.class2')
? en que caso debemos usar.add()
?Normalmente uso en
on
lugar declick
. Me permite agregar más oyentes de eventos a una función específica.¡Espero eso ayude!
fuente
Asegúrese de poner un espacio como $ ('. Class1, space here.class2') o de lo contrario no funcionará.
fuente
Simplemente use
$('.myclass1, .myclass2, .myclass3')
para múltiples selectores. Además, no necesita funciones lambda para vincular una función existente al evento click.fuente
Otra alternativa, suponiendo que sus elementos se almacenan como variables (que a menudo es una buena idea si accede a ellos varias veces en un cuerpo de función):
Aprovecha el encadenamiento de jQuery y le permite usar referencias.
fuente
Si tiene o desea mantener sus elementos como variables (objetos jQuery), también puede recorrerlos:
fuente
Agregue una lista de clases separadas por comas como esta:
fuente
Podemos codificar como el siguiente también, he usado el evento de desenfoque aquí.
fuente
Tengo un enlace a un objeto que contiene muchos campos de entrada, lo que requiere ser manejado por el mismo evento. Así que simplemente uso find () para obtener todos los objetos internos, que necesitan tener el evento
En caso de que sus objetos estén un nivel abajo, se puede usar el enlace children () en su lugar find () .
fuente
Además de los excelentes ejemplos y respuestas anteriores, también puede hacer un "hallazgo" para dos elementos diferentes utilizando sus clases. Por ejemplo:
Esto debería generar "HelloWorld".
fuente