2010-06-23 4 views
0

Je veux quelque chose comme:variable jquery dans le sélecteur

var user_name = $(".hidden_user_name").text(); 
$("a[name="+ user_name +"]").doStuff()... 

Cela fonctionne:

$("a[name=joe123]").doStuff()... 

EDIT:

Le problème est clairement en ce que la variable user_name est pas définie lorsque la feux de sélection. Comment puis-je résoudre ce problème?

+2

les deux sont identiques. Il y a un autre problème. Est-ce votre code actuel? Ou attribuez-vous la variable à partir d'une autre source qu'un littéral de chaîne? – user113716

+2

1 réponse acceptée sur 11 questions n'est pas bonne pour votre réputation. –

+0

Aussi, êtes-vous certain que la variable est dans la bonne portée lorsque vous l'utilisez? Ou la variable a-t-elle été affectée à sa valeur lorsque vous l'utilisez? Les choses peuvent facilement se déranger si la valeur provient d'un appel AJAX. – user113716

Répondre

1

Votre code devrait fonctionner. Si vous n'utilisez pas une sorte de méthode asynchrone pour obtenir la valeur (comme AJAX), alors la seconde ligne ne s'exécutera pas jusqu'à ce que la première soit complète.

Quel type d'élément est .hidden_user_name? S'il est un <input> et que vous essayez d'obtenir la valeur de l'entrée, vous feriez ceci:

var user_name = $(".hidden_user_name").val(); 

Ou s'il y a plus d'un .hidden_user_name, vous obtenez seulement la valeur de la première qui est apparié. Essayez de vous connecter user_name avant de l'utiliser pour voir si c'est la valeur que vous attendiez.

console.log(user_name); 

ou

alert(user_name);