2010-08-12 44 views
0

所以我有一个我想修改的元素(用Fx.Tween,但我想它并不重要)。但是,元素ID是动态生成的,这意味着我必须将它从一些变量拼凑在一起。mootools中的变量美元符号元素调用

所以我们说...(在JS)

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

,我想访问元素$('foo_42') ...我将如何键入它呢?

$(name +'_'+ id)似乎不起作用,除非我做错了......?从我的代码

实际的例子:

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

更新:看起来这个问题没有答案 - 我的代码示例中JS是错误的...由于Fx.Tween的不正确使用功能。谢谢大家。

回答

1

不,这几乎就是它。 Mootools不会知道你是否做$('foo_42')$('foo' + '_' + '42'),它会看到的全部是foo_42。只要确保ID实际存在。如果没有,则$()将返回null

0

你试过

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

?您发布的原始代码是无效的Javascript。请注意,JS对象语法不是CSS。

语法$(name+'_'+id)必须工作,只要nameid在该范围内定义。