jQuery每个返回[object Object]

时间:2012-02-13 16:11:00

标签: javascript jquery dom append each

我的问题是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);

2 个答案:

答案 0 :(得分:3)

那是因为你在tr上设置了数据,然后用你的html填充它,但是仍在整理一个对象,它将它转换成一个字符串......又名

"[object Object]"

不完全确定您的目标,但您可能会尝试更改此内容......

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

对此...

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

答案 1 :(得分:1)

默认情况下,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);