试图破解我遇到的这个小问题。

我正在使用parse.com来存储和检索数据,并且我有一个JSON对象正试图检索要附加到HTML的一部分

var tempObject = Parse.Object.extend("Dev");
var query = new Parse.Query(tempObject);
query.notEqualTo("objectId", "Dan Stemkoski");
query.find({
success: function(results) {
alert("Successfully retrieved " + results.length + " receipts");
for (var i = 0; i < results.length; i++) {
var object = results[i];
$("#receipts").html(object.get('receipt_title'));
console.log(object)
//alert(object.id + ' - ' + object.get('receipt_title'));`


我想显示的结果

<div id = receipts>
<div>


不幸的是,由于某种原因,我只得到一行,而不是我应该得到的十行。
我知道我应该以某种方式循环以获得结果,但是到目前为止,我的所有尝试都使我失败了。

在此先感谢您的帮助!

最佳答案

您需要将结果添加到html,因为现在您只需将前一个结果替换为下一个即可。代替

$("#receipts").html(object.get('receipt_title'));


尝试

var html = $("#receipts").html();
$("#receipts").html(html + object.get('receipt_title'));


另外,仅提及一下,如果您想提高效率,最好继续添加变量并只写入DOM一次。所以:

var html = "";
for(/* Do your for loop here, thats all correct*/){
    /*Do everything the same apart from the $("#receipts").html() line*/
    html += object.get('receipt_title');
}
$("#receipts").html(html);


修改DOM的次数越少越好。

07-24 16:16