我有一个将文本写入html文档的函数。此文本等于两个变量的值,结果等于第三个变量的名称。如何将此最终文本转换为变量名称以使该函数打印出它的值?
<script>
function start()
{
var name1 = "name";
var name2 = 3;
var name3 = "Text that I want to write";
document.getElementById('here').innerHTML = name1 + name2;
}
</script>
<div id="here"></div>
<button onclick="start()">
Start
</button>
UPD:有一个tupo var name1 = "test"
,它应该是var test1 = "name"
答案 0 :(得分:3)
尝试使用object!
<script>
function start() {
var names = {
name1: "name",
name2: "3",
name3: "Text that I want to write"
}
document.getElementById('here').innerHTML = names[names.name1 + names.name2];
}
</script>
<div id="here"></div>
<button onclick="start()">start</button>
答案 1 :(得分:1)
我假设你的意思是name1等于“name”而不是“text”。然后将它们放在一起,您将获得第三个变量,它保存您要打印的文本的值。在这种情况下,您可以使用javascript的eval()
功能。
而不是
document.getElementById('here').innerHTML = name1 + name2;
使用
document.getElementById('here').innerHTML = eval(name1 + name2);