如何将元素的id设置为变量?

时间:2016-05-13 16:10:03

标签: javascript jquery variables

我有一些jQuery脚本,其中我向表中添加了一些行(当用户按下按钮时)。我的问题是我想动态地更改行内元素的id。我设置了一个全局变量i,我将其设置为表格中某些元素的id。问题是经过一些调试后我发现id根本没有变化并保持为字母i(而不是变量i设置为0并且每次用户按下时都会增加按钮)。有什么想法吗?

var i=0;
var a1=i.toString().concat("1");
var a2=i.toString().concat("2");
var a3=i.toString().concat("3");
$("#table1").append("<tr><td><center><input id=\"a1\"></input></center></td><td>
center><button id=\"a2\">Load</button></center></td><td ><img id=\"a3\"></td>
</tr>");

$("#a2").click(function(){
   $z=$("#a1").val();
   $("#a3").attr("src",$z);
   i++;
});

1 个答案:

答案 0 :(得分:4)

那是因为你直接把它们写成字符串。您需要将它们连接到实际的字符串中。您可以使用+将字符串连接在一起。

$("#table1").append(
  "<tr>" +
    "<td>" + 
      "<center><input id=\"" + a1 + "\" /></center>" +
    "</td>" +
    "<td>" +
      "<center><input id=\"" + a2 + "\" /></center>" +
    "</td>" +
    "<td>" +
      "<center><input id=\"" + a3 + "\" /></center>" +
    "</td>" +
  "</tr>"
);

对于它的价值,<center> tag is deprecated并且不应该使用它。您也可以考虑创建某种模板,而不是直接在JavaScript中生成HTML作为字符串。