我有一些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++;
});
答案 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作为字符串。