Je travaille donc sur quelque chose qui n'a pas été bien pensé dans la construction de l'équipe backend. Cela me laisse avec un document plein de divs.
Ce que je fais, c'est reculer à partir de l'élément sur lequel je dois cliquer, obtenir le conteneur parent puis trouver un élément dans le parent qui a class="alert-box warn"
, class="alert-box dead"
, etc ... Essentiellement, j'essaie d'utiliser plusieurs sélecteurs de classe sur chaque élément. Quand j'essaye de trouver juste alert-box
il ne semble pas fonctionner correctement. Je suppose parce qu'il a warn,
dead, `` bien, etc ...
Comment puis-je trouver juste alert-box*
ou équivalent à un concept générique?
Vous pouvez combiner des sélecteurs comme celui-ci
$(".alert-box.warn, .alert-box.dead");
Ou si vous voulez un caractère générique, utilisez le sélecteur contenant l'attribut
$("[class*='alert-box']");
Remarque: De préférence, vous connaissez le type d'élément ou la balise lorsque vous utilisez les sélecteurs ci-dessus. Connaître la balise peut rendre le sélecteur plus efficace.
$("div.alert-box.warn, div.alert-box.dead");
$("div[class*='alert-box']");
Vous pouvez sélectionner des éléments avec plusieurs classes comme ceci:
$("element.firstClass.anotherClass");
Enchaînez simplement la classe suivante sur la première, sans un espace (les espaces signifient "enfants de").
var divs = $("div[class*='alert-box']");
Un élément peut avoir n'importe quel nombre de classNames, cependant, il ne peut avoir qu'un seul attribut de classe; seule la première sera lue par jQuery.
En utilisant le code que vous avez publié, $(".alert-box.warn")
fonctionnera mais $(".alert-box.dead")
ne fonctionnera pas.