Si j'ai quelques classes nommées quelque chose de similaire est-il un moyen de les saisir tous en un seul coup
#instance1
#instance2
#instance3
#instance4
("#instance").click(function()
//GRAB ALL OF THEM
Si j'ai quelques classes nommées quelque chose de similaire est-il un moyen de les saisir tous en un seul coup
#instance1
#instance2
#instance3
#instance4
("#instance").click(function()
//GRAB ALL OF THEM
L' attribut start-with selector ( '^=
) fonctionnera pour vos identifiants, comme ceci:
$("[id^=instance]").click(function() {
//do stuff
});
Cependant, envisagez de donner à vos éléments une classe commune, par exemple (je me casse la gueule) .instance
, et utilisez ce sélecteur:
$(".instance").click(function() {
//do stuff
});
Si vous voulez vraiment faire correspondre les classes, pas les identifiants, la syntaxe est un peu plus compliquée, car la classe peut avoir plusieurs valeurs.
// handle elements like <div class="someclass1"></div>
$('[class^="someclass"]').click(function() {
// do stuff
});
// handle elements like <div class="foo someclass1"></div>
$('[class*=" someclass"]').click(function() {
// do stuff
});
Je suis surpris que personne n'a mentionné la création de votre propre sélecteur de filtre (par l'extension de jQuery fonctionnalité de sélection). J'ai créé ici un générique sélecteurs j'ai appelé "likeClass" et "likeId" qui accepte n'importe quelle chaîne de caractères génériques et de trouver tous les éléments qui sont un match (similaire à l'expression rationnelle correspondant).
Code:
$.expr[':'].likeClass = function(match){
return $('[class*=" '+ match +'"]');
};
$.expr[':'].likeId = function(match){
return $('[id*=" '+ match +'"]');
};
Exemple D'Utilisation:
Maintenant, disons que vous avez plusieurs éléments div avec des noms similaires comme .contenu-1, .contenu-2, .contenu-n... etc et vous souhaitez sélectionner. Maintenant, c'est du gâteau!
$('div:likeClass(contenu)'); // Renvoie tous les éléments qui ont une semblable Classname: contenu-*
ou
$('div:likeClass(contenu)'); // Renvoie tous les éléments qui ont une semblable ID: contenu-*
Ah oui, encore une chose... vous pouvez la chaîne aussi. :)
$('li:likeId(slider-content-)').hide().addClass('sliderBlock').first().fadeIn('fast');
Profitez-en!
Pas besoin d'exprime supplémentaire ou de quelque chose d'extraordinaire si vous avez jQuery
jQuery('[class*="someclass"]').click(function(){
});
jQuery('[id*="someclass"]').click(function(){
});
Comme indiqué: http://stackoverflow.com/a/2220874/2845401
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.