使用jquery在json中获取子li值及其父ul值
我在使用jquery在json中获取子li值及其父ul值,jquery,html,json,Jquery,Html,Json,我在ul下有一个无序列表和一些li元素。我无法获得预期的ul和li值。我尝试了以下几种资源: [{ "id": "1", "category": "Parking", "subcategory": [ "Street Parking", "Bus Parking" ] }] 我的代码如下所示: 我的预期产出如下: [{ "id": "1", "category": "Parking", "subca
ul
下有一个无序列表和一些li
元素。我无法获得预期的ul
和li
值。我尝试了以下几种资源:
[{
"id": "1",
"category": "Parking",
"subcategory": [
"Street Parking",
"Bus Parking"
]
}]
我的代码如下所示:
我的预期产出如下:
[{
"id": "1",
"category": "Parking",
"subcategory": [
"Street Parking",
"Bus Parking"
]
}]
如何实现JSON?试试这个:请注意,我通过在顶部
li
元素中添加data name
对html进行了一些更改
var mylist = [];
$(".nameList > li").each(function() {
mylist.push({});
var self = mylist[mylist.length-1];
self.subcategory = [];
self.id = $(this).attr("value");
self.category = $(this).attr("data-name");
$(this).find("ul > li").each(function(){
self.subcategory.push($(this).html());
});
console.log(self);
});
还有一把小提琴:如果你不能触摸HTML,这里有一个选项
var myList = [];
$('ul.nameList > li').each(function() {
myList.push({
"id": $(this).val(),
"category": $(this).clone().children('ul.subcatList').remove().end().text().trim(),
"subcategory": $(this).find('ul.subcatList li').toArray().map(function(value) { return value.innerHTML; })
});
});
。。。但是如果可以的话,我会将类别名称放在一些元素中,以便于选择。你可以用
<li value="1"><span class="cattitle">Parking</span>
<ul class="subcatList">
<li>Street Parking</li>
<li>Bus Parking</li>
<li>Complementary Parking</li>
</ul>
</li>
<li value="2"><span class="cattitle">Business Services</span>
<ul class="subcatList">
<li>Business Center</li>
<li>A/V Capabilities</li>
<li>Video Conferencing</li>
</ul>
</li>
........
我希望这会有帮助,我做了很多研究,但为什么不投票呢?我没有投票,但我想除了添加链接之外,如果您能在这里添加代码片段,这个问题看起来会更完整。而不是粘贴一堆链接。