Javascript 可以在console.log中获得多个输出,但不能在HTML中获得
我一直在尝试将Firebase上的多个值输出到我的HTML文档中,但是,我可以使用console.log获得所有子输出,但是当我尝试将其添加到HTML中时,它只输出1个值。我尝试使用forEach,但无法使其工作(不确定是否出错) 到目前为止,我掌握的代码是Javascript 可以在console.log中获得多个输出,但不能在HTML中获得,javascript,html,firebase,firebase-realtime-database,Javascript,Html,Firebase,Firebase Realtime Database,我一直在尝试将Firebase上的多个值输出到我的HTML文档中,但是,我可以使用console.log获得所有子输出,但是当我尝试将其添加到HTML中时,它只输出1个值。我尝试使用forEach,但无法使其工作(不确定是否出错) 到目前为止,我掌握的代码是 const dbRefObjectPosts = dbRefObject.child('Posts'); dbRefObjectPosts.on("value", function(snap){ snap.forE
const dbRefObjectPosts = dbRefObject.child('Posts');
dbRefObjectPosts.on("value", function(snap){
snap.forEach(function(childSnapshot){
document.getElementById('object').innerHTML = (
"Title: " + childSnapshot.val().Title + "</br>" +
"Message: " + childSnapshot.val().Message + "</br>" +
"Posted: " + childSnapshot.val().Posted
);
console.log(childSnapshot.val().Message);
});
});
console.log输出为
Title: 6756775
Message: 56756575776
Posted: Date: 19/3/2017 @ 23:2:40
out with friends
BLOG.js:61 this is a test
BLOG.js:61 03:11 am and this is kind of working.
BLOG.js:61 The time is now 03:59 and things are coming good finally.
BLOG.js:61 Ok time is 04:42 going to my bed.
BLOG.js:61 5676576756575
BLOG.js:61 56756575776
此脚本将解决您的问题
dbRefObjectPosts.on("value", function(snap){
snap.forEach(function(childSnapshot){
document.getElementById('object').innerHTML += (
"Title: " + childSnapshot.val().Title + "</br>" +
"Message: " + childSnapshot.val().Message + "</br>" +
"Posted: " + childSnapshot.val().Posted +
"<br/><br/>"
);
console.log(childSnapshot.val().Message);
});
});
dbreObjectPosts.on(“值”,函数(快照){
snap.forEach(函数(childSnapshot){
document.getElementById('object')。innerHTML+=(
“Title:+childSnapshot.val().Title+””+
“消息:“+childSnapshot.val().Message+””+
已发布:“+childSnapshot.val().Posted”+
“
”
);
console.log(childSnapshot.val().Message);
});
});
此脚本将解决您的问题
dbRefObjectPosts.on("value", function(snap){
snap.forEach(function(childSnapshot){
document.getElementById('object').innerHTML += (
"Title: " + childSnapshot.val().Title + "</br>" +
"Message: " + childSnapshot.val().Message + "</br>" +
"Posted: " + childSnapshot.val().Posted +
"<br/><br/>"
);
console.log(childSnapshot.val().Message);
});
});
dbreObjectPosts.on(“值”,函数(快照){
snap.forEach(函数(childSnapshot){
document.getElementById('object')。innerHTML+=(
“Title:+childSnapshot.val().Title+””+
“消息:“+childSnapshot.val().Message+””+
已发布:“+childSnapshot.val().Posted”+
“
”
);
console.log(childSnapshot.val().Message);
});
});
尝试.innerHTML+=…
当您执行.innerHTML=
操作时,您可以用新值替换以前的值。@Rajesh感谢您的大部分工作,但标题只输出一次,您知道如何解决这个问题吗?只要一个指针,在循环中创建htmlString
,并在循环后设置一次。在循环中操作DOM是一种糟糕的做法。还可以尝试记录最后一个字符串。这可能有助于你们解决标题的问题。很难将其可视化。尝试.innerHTML+=…
当你这样做.innerHTML=
时,你会用新的值替换以前的值。@Rajesh感谢这对它的大部分工作起到了作用,但标题只输出了一次任何想法如何解决这个问题?只要一个指针,在循环中创建htmlString
,并在循环后设置一次。在循环中操作DOM是一种糟糕的做法。还可以尝试记录最后一个字符串。这可能有助于你们解决标题的问题。很难想象它。