Определить значение переменной как другую переменную
Приветствую!
Имеется конструкция вида
phrase = getCookie("lang['button']"),
var options = {
opt1: '123',
opt2: '321',
buttons: {
phrase: 'func1',
b: 'func2'
}
}
for(var btn in options.buttons)
{
var _btn = d.createElement('button');
var __btn = options.buttons[btn];
addEvent(_btn, 'click', __btn);
var txt = d.createTextNode(btn);
_btn.appendChild(txt); // выведет "phrase"
..
}
При таком раскладе выводится слово "phrase" вместо нужной фразы, которую нужно определить заранее. Подскажите как сделать так, чтобы выводилась та фраза, которую определяем в переменной? |
В 15 строке заменить `btn` на `__btn`.
И вообще, рекомендую давать названия поосмысленней. |
<div id="body"></div>
<script>
phrase = 'Ок';
var options = {
opt1: '123',
opt2: '321',
buttons: {
phrase: function(){ alert(); },
cansel: function(){ alert(1); }
}
}
for(var btn in options.buttons)
{
var _btn = document.createElement('button');
_btn.onclick = options.buttons[btn];
var txt = document.createTextNode(btn);
_btn.appendChild(txt); // выведет "phrase" и "cansel" вместо "Ок" и "cansel"
document.getElementById('body').appendChild(_btn);
}
</script>
|
Или ты это имеешь ввиду?
<div id="body"></div>
<script>
phrase = 'Ок';
var options = {
opt1: '123',
opt2: '321',
buttons: {
phrase: function(){ alert(0); },
cansel: function(){ alert(1); }
}
}
for(var btn in options.buttons)
{
var _btn = document.createElement('button');
_btn.onclick = options.buttons[btn];
var txt = document.createTextNode(window[btn]||btn);
_btn.appendChild(txt); // выведет "phrase" и "cansel" вместо "Ок" и "cansel"
document.getElementById('body').appendChild(_btn);
}
</script>
|
SV0L0CH,
это то что нужно, очень выручил! |
| Часовой пояс GMT +3, время: 12:46. |