Javascript 使用jQuery呈现所有记录

Javascript 使用jQuery呈现所有记录,javascript,jquery,json,firebase-realtime-database,Javascript,Jquery,Json,Firebase Realtime Database,我想在浏览器上呈现所有json db条目,但看起来它只获取最后一个条目 候选查找表 公司 电子邮件 消息 名称 电话 //初始化Firebase 变量配置={ apiKey:“, authDomain:“”, 数据库URL:“”, 投射:“, storageBucket:“”, messagingSenderId:“ }; firebase.initializeApp(配置); var database=firebase.database(); var leadsRef=database.r

我想在浏览器上呈现所有json db条目,但看起来它只获取最后一个条目


候选查找表
公司
电子邮件
消息
名称
电话
//初始化Firebase
变量配置={
apiKey:“,
authDomain:“”,
数据库URL:“”,
投射:“,
storageBucket:“”,
messagingSenderId:“
};
firebase.initializeApp(配置);
var database=firebase.database();
var leadsRef=database.ref('messages');
leadsRef.on('value',函数(快照){
snapshot.forEach(函数(childSnapshot){
var childData=childSnapshot.val();
var obj=JSON.stringify(childData);
$(函数(){
var jsonObj=$.parseJSON(JSON.stringify(childData));
var html='';
控制台日志(obj);
$.each(jsonObj,函数(键,值){
html+='';
html+=''+键+'';
html+=''+值+'';
html+='';});
html+='';
$('div').html(html);
});			
});
});

您正在使用.HTML()设置循环中的HTML。这将覆盖上一个元素

$('div').html(html)

必须使用.append()方法来追加新元素

$('div').append(html);

来自@kusuma的答案将起作用,但可以改进。首先,在创建html时,不要使用像
div
这样的通用选择器,最好使用id或类名。另一个改进是如何添加数据,而不仅仅是更改整个div,它会弄乱您的UI显示。检查以下代码:


候选查找表
公司
电子邮件
消息
名称
电话
//初始化Firebase
变量配置={
apiKey:“Aizasyavsuaxizkopeb6qwxjpb0acn2t6l2ou8”,
authDomain:“jobrecuiters-9552a.firebaseapp.com”,
数据库URL:“https://jobrecuiters-9552a.firebaseio.com",
projectId:“jobrecuiters-9552a”,
storageBucket:“jobrecuiters-9552a.appspot.com”,
messagingSenderId:“8465931464”
};
firebase.initializeApp(配置);
var database=firebase.database();
var leadsRef=database.ref('messages');
leadsRef.on('value',函数(快照){
snapshot.forEach(函数(childSnapshot){
var childData=childSnapshot.val();
var obj=JSON.stringify(childData);
$(函数(){
var jsonObj=$.parseJSON(JSON.stringify(childData));
var html='';
控制台日志(obj);
$.each(jsonObj,函数(键,值){
html+='';
html+=''+键+'';
html+=''+值+'';
html+='';});
$(“#推送内容”).append(html);
});			
});
});

我同意@Kuru在更改HTML时不使用通用选择器。