Existe-t-il un moyen d'exécuter le même code pour différents éléments de la page?
$('.class1').click(function() {
some_function();
});
$('.class2').click(function() {
some_function();
});
au lieu de faire quelque chose comme:
$('.class1').$('.class2').click(function() {
some_function();
});
Merci
.add()
fonctionne aussi avec les objets jquery$('.class1, .class2')
et$('.class1').add('.class2')
? dans quel cas devrions-nous utiliser.add()
?J'utilise normalement
on
au lieu declick
. Cela me permet d'ajouter plus d'auditeurs d'événements à une fonction spécifique.J'espère que cela aide!
la source
Assurez-vous de mettre un espace comme $ ('. Class1, space here.class2') sinon cela ne fonctionnera pas.
la source
Utilisez simplement
$('.myclass1, .myclass2, .myclass3')
pour plusieurs sélecteurs. De plus, vous n'avez pas besoin de fonctions lambda pour lier une fonction existante à l'événement click.la source
Une autre alternative, en supposant que vos éléments sont stockés sous forme de variables (ce qui est souvent une bonne idée si vous y accédez plusieurs fois dans un corps de fonction):
Profite du chaînage jQuery et vous permet d'utiliser des références.
la source
Si vous avez ou souhaitez conserver vos éléments en tant que variables (objets jQuery), vous pouvez également les boucler:
la source
Ajoutez une liste de classes séparées par des virgules comme ceci:
la source
Nous pouvons coder comme suit également, j'ai utilisé l'événement flou ici.
la source
J'ai un lien vers un objet contenant de nombreux champs de saisie, qui doit être géré par le même événement. Donc j'utilise simplement find () pour obtenir tous les objets intérieurs, qui doivent avoir l'événement
Dans le cas où vos objets sont un niveau plus bas le lien des enfants () au lieu trouver () méthode peut être utilisée.
la source
En plus des excellents exemples et réponses ci-dessus, vous pouvez également faire une "recherche" pour deux éléments différents en utilisant leurs classes. Par exemple:
Cela devrait produire "HelloWorld".
la source