Ok vous avez un ensemble de variables:Convertir une chaîne en un nom de variable en javascript?
var height1 = 10
var height2 = 20
...
var height7 = 70;
L'utilisateur a donné entrée et vous avez besoin pour obtenir la valeur d'une de ces variables, voici le code pour que:
if(window.location.hash) {
var hash = window.location.hash.substring(1);
var option_name = $('a[name=' + hash + ']').closest('[id^="option"]').attr("id");
var hash_div_height_id = "height" + option_name.substring(6);
$('a[name=' + hash + ']').closest('[id^="option"]').show();
$('a[name=' + hash + ']').closest('[id^="option"]').height(hash_div_height_id);
} else {
// No hash found
}
Mon problème étant maintenant que je ne peux pas passer "hash_div_height_id" (qui représenterait actuellement la chaîne "height1" ou "height2" ou n'importe quel nombre que jQuery a renvoyé à ajouter à la fin de la chaîne) à la fonction height car c'est une chaîne.
Alors, comment puis-je faire? Puis-je convertir en quelque sorte la chaîne "height1" pour représenter la variable height1 qui a été établie plus tôt?
Je pense que vous voulez [notation de support] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Member_Operators#Bracket_notation). Je vais voir si je peux trouver un bon doublon. – apsillers
Je dirais utiliser 'eval', mais je sais que je serais castré;) – krishgopinath
Dupliquer de [Accéder à la valeur de la variable JavaScript par son nom?] (Http://stackoverflow.com/questions/4399794/access-value -de-javascript-variable-par-nom) et [nom de variable dynamique Javascript] (http://stackoverflow.com/questions/5117127/javascript-dynamic-variable-name) – apsillers