我有以下代码但我从Chrome调试它时。我已经看到id名称都是+ someInput + demo之类的东西。我的目标是将javascript变量传递给ids。我怎样才能做到这一点?提前谢谢。
for(i=0;i<5;i++){
var demo5 = "demo5"+i;
var someInput ="someInput" +i;
var demo = "demo"+i;
var demo1 = "demo1"+i;
var demo2 = "demo2"+i;
var demo3 = "demo3"+i;
var demo4 = "demo4"+i;
document.write('<tr>');
document.write('<td><p id=""+demo5 ></p></td>');
document.write('<td><p id=""+someInput onclick="myFunction(),myFunction5()"></p> </td>');
document.write('<td><p id=""+demo onclick="myFunction1(),myFunction5()"></p></td>');
document.write('<td><p id=""+demo1 onclick="myFunction2(),myFunction5()"></p></td>');
document.write('<td><p id=""+demo2 onclick="myFunction3(),myFunction5()"></p></td>');
document.write('<td><p id=""+demo3 onclick="myFunction4(),myFunction5()"></p></td>');
document.write('<td><p id=""+demo4 </p></td>');
document.write('</tr>');}
答案 0 :(得分:4)
你需要连接像
这样的字符串document.write('<td><p id="' + demo5 + '" ></p></td>');
以获得您想要的结果。在你的帖子中,JS会将'... id=""+demo'
解释为字符串,而不是转义而不使用变量值。
编辑:每条评论都添加了'+'
答案 1 :(得分:0)
在你的示例变量中视为字符串,它是什么解释相同。看下面我已经将变量括在了&#39;&#39;
for(i=0;i<5;i++){
var demo5 = "demo5"+i;
var someInput ="someInput" +i;
var demo = "demo"+i;
var demo1 = "demo1"+i;
var demo2 = "demo2"+i;
var demo3 = "demo3"+i;
var demo4 = "demo4"+i;
document.write('<tr>');
document.write('<td><p id=""+demo5 ></p></td>');
document.write('<td><p id=""+someInput onclick="myFunction(),myFunction5()"></p> </td>');
document.write('<td><p id="'+demo+'" onclick="myFunction1(),myFunction5()"></p></td>');
document.write('<td><p id="'+demo1+'" onclick="myFunction2(),myFunction5()"></p></td>');
document.write('<td><p id="'+demo2+'" onclick="myFunction3(),myFunction5()"></p></td>');
document.write('<td><p id="'+demo3+'" onclick="myFunction4(),myFunction5()"></p></td>');
document.write('<td><p id="'+demo4+'"> </p></td>');
document.write('</tr>');}