在innerHTML中传递toString(number)

时间:2016-05-10 17:35:29

标签: javascript

这是我的第一篇文章,我是" new"到javascript但在actionscript中经验丰富。我有一个不应该是一个问题的问题,不能理解它。

在下面的代码中,我想要做的是将整数变量(stackID)作为innerHTML中的img id属性传递。它必须是我不知道的一些细节,但我在谷歌搜索了几个小时无济于事。帮助将大大受到重视。无论我做什么,似乎我只能通过<img id="string">,这当然不是我想要的。无法通过<img id=numVariable><img id=String(numVariable)>,肯定有办法实现这一目标吗?

谢谢大家!

以下是代码行:

div.innerHTML='<img src="img/xbut.png" id=String(stackID) onclick="close(this.id)">';

5 个答案:

答案 0 :(得分:1)

javascript没有字符串插值。连接 stackId ,如:

div.innerHTML='<img src="img/xbut.png" id="' + stackID + '" onclick="close(this.id)">';

答案 1 :(得分:0)

你试图在字符串中传递它。 你想要做的是:

div.innerHTML='<img src="img/xbut.png" id="' + String(stackID) + '" onclick="close(' + this.id + ')">';

哦,既然你已经在创建一个字符串,那么你不需要String()转换,只需要id="' + stackID + '"

答案 2 :(得分:0)

Javascript是松散类型的,会自动转换(尽其所能)任何你想要在字符串中插入的内容:

var num = 1;
"sup" + num; // => "sup1"

这很酷,但要小心,它可能会导致一些奇怪的惊喜:

var obj = {};
"sup" + obj.missingKey; //  => "supundefined"

在这种情况下,obj.missingKey === undefinedString(undefined) === "undefined""sup" + obj.missingKey实际上变为"sup" + "undefined"

答案 3 :(得分:0)

使用'+'加入这样的块:

 div.innerHTML='<img src="img/xbut.png" id="' + String(stackID) + '" onclick="close(' + this.id + ')">';

答案 4 :(得分:0)

试试这个,你让变量是动态的:

    var x = 0;
    x = x +1;
    div.innerHTML='<img src="img/xbut.png" id="name_' + x + '" onclick="close(this.id)">';