2010-08-12 3 views
0

J'ai donc un élément que je veux modifier (avec Fx.Tween, mais je suppose que cela n'a pas vraiment d'importance). Cependant, l'identifiant de l'élément est généré dynamiquement, ce qui signifie que je dois le reconstituer à partir de certaines variables.Variables dans les appels de l'élément du signe dollar mootools

Alors disons que ... (en js)

name = 'foo'; 
id = '42'; 

et je veux accéder à l'élément $('foo_42') ... comment pourrais-je taperez?

$ (nom + '_' + id) ne semble pas fonctionner, sauf si je me trompe ...?

Exemple concret de mon code:

var highlight = new Fx.Tween($(accountID+'_'+type+'_'+permission), { 
    background-color: #f00; 
}); 

Mise à jour: On dirait que cette question n'a pas de réponse - mes JS dans l'exemple de code est tout simplement faux ... en raison d'une mauvaise utilisation du Fx.Tween fonction. Merci a tous.

Répondre

1

Non, c'est à peu près tout. Mootools ne saura pas si vous faites $('foo_42') ou $('foo' + '_' + '42'), tout ce qu'il verra est foo_42. Assurez-vous simplement que l'ID existe réellement. Si ce n'est pas le cas, $() renverra null.

0

Avez-vous essayé

var highlight = new Fx.Tween($(accountID+'_'+type+'_'+permission), { 
    background-color: '#f00' 
    //    ^^^^^^ 
}); 

? Le code original que vous avez posté n'est pas valide Javascript. Notez que la syntaxe de l'objet JS n'est pas CSS. La syntaxe $(name+'_'+id) doit fonctionner tant que name et id sont définis dans cette portée.

Questions connexes