- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在尝试检索 Firebase 数据库中的所有条目以填充我的 HTML 页面,但我一直无法弄清楚。我已经遵循了许多教程和 Firebase 文档,但我的代码不知何故没有更改 HTML 页面,并且控制台中没有显示错误。
基本上,我拥有的是数据库中的职位条目列表,我需要按照下图的格式发布这些职位条目。
例如,我的 FirebaseDB 中有这么多作业条目
我想检索所有这些条目并显示四张卡片及其各自的信息,并且随着新条目的添加,它们将被添加到显示中。现在我的代码无法工作,我不明白为什么。任何帮助将不胜感激。
<div class="row" id='Card'>
<article class="col-xs-4">
<div class="cards"><span class="glyphicon glyphicon-flash icon"></span>
<hr class="divider"/>
<h2 class="title" id="jobTitle">Job Title</h2>
<div class="info">
<hr class="divider"/>
<p class="lead" id="jobDescription"><Strong>This is where Job description goes</strong></p><a class="btn btn-lg center-block" onclick="location.href = 'Specialistscard.html';">Specialists</a>
</div>
</div>
</article>
var jobTitle = document.getElementById('jobTitle');
var jobDescription= document.getElementById('jobDescription');
database = firebase.database();
var ref = database.ref('Jobs');
ref.on('value', gotData, errData);
function gotData(data) {
console.log(data);
var jobs = data.val();
var keys = Object.keys(jobs);
for (var i = 0; i < keys.length; i++) {
var k = keys[i];
jobTitle = jobs[k].JobTitle;
jobDescription = jobs[k].JobDescription;
var li = document.createElement('card', jobTitle, jobDescription)
}
}
function errData(err) {
console.log('Error!');
console.log(err);
}
最佳答案
好的@Ola,这是一个如何通过 javascript 填充 html 的示例,您也可以查看 HandleBars是一个用于操作 DOM 的 JS 库,并具有其他许多功能。
您好!
var dummyDataJobs = [
{
title: 'CEO',
description: 'CEO Description'
},
{
title: 'CTO',
description: 'CTO Description'
},
{
title: 'VP',
description: 'VP Description'
}
]
var container = document.getElementById('jobsContainer');
for (var index = 0; index < dummyDataJobs.length; index++) {
var job = dummyDataJobs[index];
var newCard = `
<div class="row" id='Card'>
<article class="col-xs-4">
<div class="cards"><span class="glyphicon glyphicon-flash icon"></span>
<hr class="divider"/>
<h2 class="title">`+ job.title + `</h2>
<div class="info">
<hr class="divider"/>
<p class="lead"><Strong>`+ job.description + `</strong></p><a class="btn btn-lg center-block" onclick="location.href = 'Specialistscard.html';">Specialists</a>
</div>
</div>
</article>`;
container.innerHTML += newCard;
}
<!DOCTYPE html>
<html>
<body>
<div id="jobsContainer"></div>
</body>
</html>
根据您的情况,您可以尝试以下 for 循环:
var container = document.getElementById('jobsContainer');
for (var i = 0; i < keys.length; i++) {
var k = keys[i];
var newCard = `
<div class="row" id='Card'>
<article class="col-xs-4">
<div class="cards"><span class="glyphicon glyphicon-flash icon"> </span>
<hr class="divider"/>
<h2 class="title">`+ jobs[k].JobTitle + `</h2>
<div class="info">
<hr class="divider"/>
<p class="lead"><Strong>`+ jobs[k].JobDescription +
`</strong></p><a class="btn btn-lg center-block" onclick="location.href = 'Specialistscard.html';">Specialists</a>
</div>
</div>
</article>`;
container.innerHTML += newCard;}//END OF FOR
请务必添加此 <div id="jobsContainer"></div>
在你的 html 中,如示例所示
关于javascript - Firebase 数据检索不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42195106/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!