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 + '"]')
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 + "']");