2012-02-13 116 views
1

我的问题是,html变量返回类似这样的东西:[对象对象] [对象对象] [对象对象] [对象对象] [对象对象],而不是元素。jQuery每个返回[对象对象]

我应该做什么不同?

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); 
+0

能否请您发表一下'data'变量包含。我在猜JSON? – 2012-02-13 16:13:25

回答

3

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

"[object Object]" 

不确切知道你在做什么之后,但你可以尝试改变这个...

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

要这个......

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

谢谢,现在正在工作,但是,可悲的是我无法到达trackinfo数据,.date('trackinfo')返回undefined :( – passatgt 2012-02-13 16:42:58

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);