0

我对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是变量,它必须添加来自pom1pom2等的文本...我从PHP 文件中
获取的pom1位置和位置。pom2mouseover

zobraz_text如果我从给定的函数中对前两个参数进行分组pom1,但这pom1pom1我有文本的地方不同。在网络上我有文字"pom1",但我必须有文字"Some text1"

当我删除变量并像此示例代码一样 obsah_text简单地添加变量时,我的代码可以工作。pom1

这显示了来自变量的文本,这没关系,但是如果我添加变量,那么此代码仅适用于 300 种情况中的一种(因为我在函数中有第一个和第二个参数zobraz_text()

document.getElementById("bloks").innerHTML = document.getElementById("bloks").innerHTML + pom1;

我相信你理解并帮助我。我希望这对你们中的许多人来说很简单。

4

1 回答 1

3

您不能创建变量的变量。如果pom1并且pom2是全球性的,您可能会这样做window[firma + cislo],但我不建议这样做。

相反,使用一个对象来存储 pom:

var poms = {
    "pom1": "Some text1",
    "pom2": "Some text2",
}
//snip
obsah_text = poms[firma + cislo];
于 2013-03-06T13:18:25.203 回答