gpt4 book ai didi

javascript - 使用 Javascript/Jquery 遍历无序列表

转载 作者:行者123 更新时间:2023-11-30 10:54:11 26 4
gpt4 key购买 nike

假设我有一个无序的嵌套列表:

<ul>
<li>Item a1</li>
<li>Item a2</li>
<li>Item a3</li>
<ul>
<li>Item b1</li>
<li>Item b2</li>
<li>Item b3</li>
<ul>
<li>Item c1</li>
<li>Item c2</li>
<li>Item c3</li>
</ul>
<li>Item b4</li>
</ul>
<li>Item a4</li>
</ul>

我需要遍历它并将它保存在一个二维数组中(最终我只是想将它转换成一个 JSON 实体)我被允许同时使用 Jquery 和/或 Javascript。我应该如何进行?

谢谢

最佳答案

我不确定您希望结果数据结构是什么样子,但是这个(它使用了一些 jQuery):

$(function() {

var result = {};

function createNewLevel(parent,items) {
var length = items.length;
for(var i = 0; i < length; i++) {
if(items[i].tagName == 'UL') {
parent['ul' + i] = {};
createNewLevel(parent['ul' + i],$(items[i]).children().get());
} else {
parent['li' + i] = $(items[i]).text();
}
}
}

createNewLevel(result, $('ul:first').get());

console.log(result);

});

...会产生这种结构

{
ul0: {
li0: "Item a1",
li1: "Item a2",
li2: "Item a3",
li4: "Item a4",
ul3: {
li0: "Item b1",
li1: "Item b2",
li2: "Item b3",
li4: "Item b4",
ul3: {
li0: "Item c1",
li1: "Item c2",
li2: "Item c3"
}
}
}
}

如果需要,它可以很容易地调整以改变结果结构的细节。

请注意,这是一个 javascript 对象。如果您确实需要一个 JSON 对象,那么您只需使用 var jsonResult = JSON.stringify( result );

将其转换

关于javascript - 使用 Javascript/Jquery 遍历无序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3158265/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com