将Javascript对象的内容附加到HTML
试图解决我的这个小问题 我正在使用parse.com来存储和检索数据,我有一个JSON对象,我正试图检索其中的一部分以附加到HTML中将Javascript对象的内容附加到HTML,javascript,jquery,html,parse-platform,Javascript,Jquery,Html,Parse Platform,试图解决我的这个小问题 我正在使用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("
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>
不幸的是,由于某种原因,我只收到了一行,而不是我应该收到的10行。
我知道我应该以某种方式循环以获得结果,但到目前为止,我所有的尝试都失败了
提前感谢您的帮助 您需要将结果添加到html中,因为现在您只需将上一个结果替换为下一个结果。而不是
$("#receipts").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的次数越少越好。从外观上看,实际上只得到最后一行。 试着像这样修复它:
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");
// Clear existing html from #receipts
$("#receipts").html("");
for (var i = 0; i < results.length; i++) {
var object = results[i];
// Adds to html of previous results (empty on first result)
$("#receipts").html($("#receipts").html() + object.get('receipt_title'));
console.log(object)
//alert(object.id + ' - ' + object.get('receipt_title'));
}
}
});
很好。。事实上,我设法以不同的方式解决了这个问题:
$("#receipts").append(object.get('reciept_title'));
$("#receipts").append("<br>");
我试图找出如何将结果居中,试图在append函数后添加HTML,但由于某种原因,它破坏了代码每次循环时都会覆盖收据的内容。在第一次警报后尝试以下操作:
var datas = new Array();
$.each(results, function(index, data) {
datas.push('<span>'+ data.receipt_title +'</span>');
});
$("#receipts").data(options.join(''));
玩一玩,直到它达到你想要的效果
var datas = new Array();
$.each(results, function(index, data) {
datas.push('<span>'+ data.receipt_title +'</span>');
});
$("#receipts").data(options.join(''));