Question

quand je clique sur un lien, je prends sa valeur href dans une variable (le nombre représente un identifiant unique), alors ... j'ai un ul distinct:

<ul class="class_one">
   <li class="class_two"><a href="2345">some text</a></li>
   <li class="class_three"><a href="6789">some text</a></li>
</ul>

Ce que j'essaie de faire, c'est de voir si j'ai un " un " dans mon & ul; ul " qui a le même identifiant que j'ai stocké dans ma variable.

J'ai essayé quelque chose comme ça (bien sûr sans résultat):

$('ul.class_one').find('a[href="' + myVar + '"]')
//and if it finds no element do something
//i think is something wrong with the quotes ('a[href="' + myVar + '"]')
Était-ce utile?

La solution

Avez-vous essayé d'échanger vos citations? jQuery utilise peut-être des guillemets simples pour la correspondance de sélection d'attribut ...

$('ul.class_one').find("a[href='" + myVar + "']");

De la documentation jQuery

.
  

Une valeur d'attribut. Les citations sont   facultatif dans la plupart des cas, mais devrait être   utilisé pour éviter les conflits lorsque la valeur   contient des caractères tels que "] " ;.   Les variables peuvent être utilisées en utilisant le   syntaxe suivante: [name = '" + MaVar + "']

Autres conseils

Il est possible de supprimer complètement les guillemets ...

$('ul.class_one').find('a[href='+myVar+']');

Devrait fonctionner

CSS, et jQuery par extension, utilise des guillemets simples.

$("ul.class_one").find("a[href='" + myVar + "']");
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top