从 ul li div 获取数据并存储到 json
Getting data from ul li div and storing into json
过去几个小时我一直在考虑这个问题,但找不到任何解决方案。所以基本上我有一个这样的列表
<ul class="list">
<li class="user">
<div class="name">Name</div>
<div class="surname">Surname</div>
</li>
<li class="user odd">
<div class="name">Name</div>
<div class="surname">Surname</div>
</li>
<li class="user">
<div class="name">Name</div>
<div class="surname">Surname</div>
</li>
<!--And like so....-->
</ul>
这就是我的守夜人剧本的样子
.elements('css selector','.li',function(result){
console.log(result.value);
});
结果是[] = 空数组
但主要问题是执行 ul li div 中的所有数据并像 json 文件一样写入 console.log 的最佳实践是什么?
赞:
{
"name": "name",
"surname": "Yaya",
},
{
"name": "name2",
"surname": "Yaya2",
},
如果你们中的任何人可以提供帮助,请给我一些障碍。
也许你可以在纯 JS 中做类似下面的事情。
var lis = document.querySelectorAll("ul li"),
i = 0,
jData = [];
for (var li of lis) {
var divs = li.getElementsByTagName("div"),
liObj = {};
for (var div of divs) liObj[div.className] = div.textContent;
jData.push(liObj);
}
jData = JSON.stringify(jData);
console.log(jData);
<ul class="list">
<li class="user">
<div class="name">Name</div>
<div class="surname">Surname</div>
</li>
<li class="user odd">
<div class="name">Name</div>
<div class="surname">Surname</div>
</li>
<li class="user">
<div class="name">Name</div>
<div class="surname">Surname</div>
</li>
</ul>
过去几个小时我一直在考虑这个问题,但找不到任何解决方案。所以基本上我有一个这样的列表
<ul class="list">
<li class="user">
<div class="name">Name</div>
<div class="surname">Surname</div>
</li>
<li class="user odd">
<div class="name">Name</div>
<div class="surname">Surname</div>
</li>
<li class="user">
<div class="name">Name</div>
<div class="surname">Surname</div>
</li>
<!--And like so....-->
</ul>
这就是我的守夜人剧本的样子
.elements('css selector','.li',function(result){
console.log(result.value);
});
结果是[] = 空数组
但主要问题是执行 ul li div 中的所有数据并像 json 文件一样写入 console.log 的最佳实践是什么?
赞:
{
"name": "name",
"surname": "Yaya",
},
{
"name": "name2",
"surname": "Yaya2",
},
如果你们中的任何人可以提供帮助,请给我一些障碍。
也许你可以在纯 JS 中做类似下面的事情。
var lis = document.querySelectorAll("ul li"),
i = 0,
jData = [];
for (var li of lis) {
var divs = li.getElementsByTagName("div"),
liObj = {};
for (var div of divs) liObj[div.className] = div.textContent;
jData.push(liObj);
}
jData = JSON.stringify(jData);
console.log(jData);
<ul class="list">
<li class="user">
<div class="name">Name</div>
<div class="surname">Surname</div>
</li>
<li class="user odd">
<div class="name">Name</div>
<div class="surname">Surname</div>
</li>
<li class="user">
<div class="name">Name</div>
<div class="surname">Surname</div>
</li>
</ul>