首先,这是我的代码:
$.each(obj, function(k,v) { // k ==== key, v === value
{
output = "";
output = output.concat(v.info1);
output = output.concat("<br />");
output = output.concat(v.info2);
output = output.concat("<br />");
output = output.concat("<br />");
var a = document.createElement('a');
a.innerHTML = output;
$("#myDiv").append(a);
$("#myDiv").on('click', a, function(e) {
//alert(output);
var w = window.open("");
w.document.write(output);
});
});
现在,这就是我正在尝试的。在每一次迭代中,我都想附加一个"输出"字符串(到"myDiv"),点击后会打开一个新的选项卡,并显示相关信息(现在让它作为"输出"串本身)
使用上面的代码,当我点击任何链接时,它会打开与现有记录数量一样多的新选项卡,每个选项卡只显示关于最后一条记录的信息
有人能说出可能出了什么问题吗?谢谢
将$("#myDiv").on
移出$.each
像这样:
$.each(obj, function(k,v) { // k ==== key, v === value
output = "";
output = output.concat(v.info1);
output = output.concat("<br />");
output = output.concat(v.info2);
output = output.concat("<br />");
output = output.concat("<br />");
var a = document.createElement('a');
a.innerHTML = output;
$("#myDiv").append(a);
});
$("#myDiv").on('click', 'a', function(e) {
var w = window.open("");
w.document.write(this.innerHTML);
});