0
votes

AddClass avec le match complet de l'identifiant à JQuery

J'ai essayé d'addclass avec le match complet de l'ID dans JQuery, pour une raison quelconque, c'est addClass pour n'importe quel identifiant partiellement assorti.

Exemple: J'ai le code HTML suivant: xxx

J'ai le code JQuery suivant pour ajouter la classe: xxx

pour certains Raison, c'est ajout de classe pour tous les 4 identifiants commençant par PID-1

Est-ce que quelqu'un est ce qui ne va pas avec mon code?


3 commentaires

Pourquoi ne faites-vous pas -> $ ('# pid-1'). Ajouter une classe ("Vous a trouvé");


Cela signifie qu'il choisira tout ce qui contient la chaîne pid-1 de la chaîne qu'elle a fait


SELECT * Description: Sélectionne les éléments qui ont l'attribut spécifié avec une valeur contenant une sous-chaîne donnée.


3 Réponses :


3
votes

Veuillez essayer ci-dessous la ligne pour ajouter une classe, en fonction de l'identifiant complet de match.

$("#PID-1").addClass("foundYou");


0 commentaires

1
votes

$ ("e [id * = pid-1]"). AddClass ("FoundYou"); code> vous donnera tous les éléments correspondants avec sélecteur d'identifiant. Si vous souhaitez cibler un spécifique, vous devez obtenir l'élément par tableau comme ci-dessous:

p>

$("#PID-1").addClass("foundYou");


1 commentaires

La dernière solution est la meilleure. Ou même juste id = ; C'est l'astérisque qui le rend lâche.



1
votes

Vous utilisez une carte wild * code> pour correspondoir id.

Que id * = pid-1 code> moyenne? p>

Ceci choisira PID-1 CODE> N'importe où dans l'ID.Votre identifiant a PID-1 CODE> Il est donc d'ajouter une classe pour tous. p>

Vous pouvez utiliser : premier Code> Sélecteur comme ci-dessous pour ajouter de la classe dans votre première correspondance de carte sauvage. P>

p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<span>
  <e class="test" id="PID-1-1">1</e>
  <e class="test" id="PID-1-2">2</e>
  <e class="test" id="PID-1-3">3</e>
  <e class="test" id="PID-1">0</e>
</span>


2 commentaires

Bonne explication, mais il y a quelques façons de la réduire et : premier ne fonctionne qu'ici en raison de la commande HTML actuelle, non parce que c'est une correspondance exacte.


Merci. Solution selon votre commentaire est dans la section alternative.