Определить значение переменной как другую переменную
Приветствую!
Имеется конструкция вида 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, время: 14:32. |