jQuery each返回[object Object]

3
我的问题是html变量返回的结果类似于[object Object][object Object][object Object][object Object][object Object],而不是元素。

我应该怎么改变呢?

var html = '';
$.each(data.response, function(index, value) { 
    var tr = $('<tr>');
    var tr_data = '<td>asd</td>';
    html += tr.data('trackinfo',value).html(tr_data);   
});

$(target).html(html);

请问您能否发布一下data变量包含的内容。我猜是JSON格式? - Rory McCrossan
2个回答

4
那是因为您正在设置数据在上,然后用您的html填充它,但仍在连接一个对象,这会将其转换为字符串...也就是说
"[object Object]"

我不确定您需要什么,但您可以尝试更改这个...


(这段话涉及IT技术,可能是在解决问题时的建议)
html += tr.data('trackinfo',value).html(tr_data);   

从这个...

html += tr.data('trackinfo',value).html(tr_data).html();   

谢谢,现在它可以工作了,但是很遗憾我无法获取trackinfo数据,.date('trackinfo')返回未定义:( - passatgt

2

默认情况下,Jquery创建的是对象而不是HTML标记。要获取HTML代码,您需要调用html()方法。

以下是可行的代码:

var html = '';
$.each(data.response, function(index, value) { 
    var tr = $('<tr>');
    var tr_data = '<td>asd</td>';
    html += tr.data('trackinfo',value).html(tr_data);   
});

$(target).html(html);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接