我在javascript中遇到变量问题。我的情况是:
在PHP文件中我有:
<div class="fd_text" onmouseover="zobraz_text('pom','1','1')" onmouseout="zobraz_text('pom','1','0')">something in</div>
在JS文件中我有:
var pom1 = "Some text1";
var pom2 = "Some text2";
function zobraz_text(firma, cislo, udalost){
obsah_text = firma+cislo; //this is wrong and why I wrote lower in text under this code
document.getElementById("bloks").innerHTML = document.getElementById("bloks").innerHTML + obsah_text; //this ID is correct
}
obsah_text
是变量,必须添加来自pom1
,pom2
等的文字...
pom1
和pom2
来自PHP文件中的mouseover
的位置。
如果我将函数zobraz_text
的前两个参数分组,我给了pom1
,但这个pom1
与pom1
不同,我有文字。在网络上,我有文字"pom1"
,但我必须有文字"Some text1"
。
当我删除变量obsah_text
并且只是添加变量pom1
时,我的代码就可以工作了,就像在这个示例代码中一样。
这显示了来自变量的文本,这是好的,但如果我添加变量,那么此代码仅适用于300种情况中的1种情况(因为我在函数zobraz_text()
中有第一和第二参数)
document.getElementById("bloks").innerHTML = document.getElementById("bloks").innerHTML + pom1;
我相信你了解并帮助我。我希望对你们中的许多人来说很简单。
答案 0 :(得分:3)
您无法创建变量变量。如果pom1
和pom2
是全局的,您可能会window[firma + cislo]
,但我不建议这样做。
相反,使用一个对象来存储poms:
var poms = {
"pom1": "Some text1",
"pom2": "Some text2",
}
//snip
obsah_text = poms[firma + cislo];