javascript - 如何将 Json 数据插入 Html Divs?
问题描述
这是我的 json 文件“contact.json”
[
{
"name":"Alice",
"surname":"Smith"
},
{
"name":"Bob",
"surname":"Walter"
}
]
我试图实现的是用javascript(+jquery)读取这个文件填充html div(基于联系人的数量)并将名字和姓氏放在div中。
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Test</title>
<meta name="description" content="Test">
<link rel="stylesheet" type="text/css" href="css/style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="people.json"></script>
</head>
<body>
<section id="contacs">
<div class="grid-3">
<div class="box">
<h3 class="name"></h3>
<h3 class="surnamename"></h3>
</div>
</div>
</section>
</body>
</html>
这是我到目前为止所写的;
load();
function load(){
var name=document.querySelector(".name");
var surname=document.querySelector(".surname");
$.getJSON("contact.json", function (data) {
$.each(data, function (index, value) {
console.log(value);
name.innerHTML= value.name;
surname.innerHTML= value.surname;
});
});
所以我可以让联系人在控制台中写入它们,但我无法将它们传递到 innerHTML 并且不知道如何填充名为“box”的 Html div。
解决方案
将 Id 给父div
说容器,创建动态h3
元素并将其附加到父级div
HTML:
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Test</title>
<meta name="description" content="Test">
<link rel="stylesheet" type="text/css" href="css/style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="people.json"></script>
</head>
<body>
<section id="contacs">
<div class="grid-3" id="container">
<div class="box">
<h3 class="name"></h3>
<h3 class="surnamename"></h3>
</div>
</div>
</section>
</body>
</html>
查询:
var data = [
{
"name":"Alice",
"surname":"Smith"
},
{
"name":"Bob",
"surname":"Walter"
}
];
load();
function load(){
var name=document.querySelector(".name");
var surname=document.querySelector(".surname");
$.each(data, function (index, value) {
var parent = document.createElement('div');
parent.className = 'box';
var $name = $('<h3 class="name">').text(value.name);
var $surname = $('<h3 class="surname">').text(value.surname);
$name.appendTo(parent);
$surname.appendTo(parent);
$(parent).appendTo($('#container'));
});
}
推荐阅读
- jenkins - Jenkins job builder: conditionally include builder and publisher
- r - 如果函数并使用图中的点
- angular - Delay pipe execution after getting data
- laravel - laravel 命令句柄函数依赖注入
- android - 在 Evernote Android-jobs 中设置间隔小于 15 分钟
- maven - Maven 清理包导致随机“应用程序无法启动”
- ios - 如何从 Swift 中的 TableCell 类访问 UIViewController 类中的值?
- selenium - 如何使用 Geb 验证错误消息
- python - 对于嵌套列表和列表的循环操作
- c# - 使用第一个 Lambda 表达式的结果组合两个 Lambda 表达式