首先,这是我的代码:
$.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);
});
});
现在,这就是我正在尝试的。在每次迭代中,我想附加一个&#34;输出&#34;字符串(到&#34; myDiv&#34;),点击后会打开一个新标签,并显示相关信息(现在就是&#34;输出&#34;字符串本身)。
使用上面的代码,当我点击任何链接时,它会打开与当前记录数一样多的新选项卡,每个选项卡仅显示有关最后一条记录的信息。
有人能告诉我哪里可能出错吗?谢谢!
答案 0 :(得分:1)
将$("#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);
});