【问题标题】:jQuery each returns [object Object]jQuery 每个返回 [object Object]
【发布时间】:2012-03-05 01:10:54
【问题描述】:

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

标签: javascript jquery dom append each


【解决方案1】:

那是因为您在 tr 上设置数据,然后用您的 html 填充它,但仍然连接一个对象,将其转换为字符串...又名

"[object Object]"

不完全确定你在追求什么,但你可以尝试改变这个......

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

到这里……

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

【讨论】:

  • 谢谢,它现在可以工作了,但是很遗憾我无法访问 trackinfo 数据,.date('trackinfo') 返回 undefined:(
【解决方案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);

【讨论】:

    猜你喜欢
    • 2014-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-20
    • 1970-01-01
    • 2013-09-13
    相关资源
    最近更新 更多