这是我的第一篇文章,我是" 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)">';
答案 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 === undefined
和String(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)">';