我有一组经常更改的 SQL 数据,我需要定期从中创建一个嵌套的无序列表。我已将 SQL 数据转换为对象数组,但我坚持使用从中创建无序列表的逻辑。
我尝试制作一个递归函数,但我对这些没有足够的经验,所以
数据包含以下字段:
ID Category Name ParentID
因此,每个类别都有一个 ID 和一个 ParentID(与另一个类别的 ID 匹配)。根类别都具有相同的虚拟 ParentID。
javascript 对象具有相同的属性。这是一个例子:
var Categories = [
new Category(1, 'Root', 0),
new Category(2, 'Cat1', 1),
new Category(3, 'Cat2', 2),
new Category(4, 'Cat3', 5),
new Category(5, 'Cat4', 1),
new Category(6, 'Cat5', 5),
new Category(7, 'Cat6', 5),
new Category(8, 'Cat7', 1),
new Category(9, 'Cat8', 2),
new Category(10, 'Cat9', 1),
new Category(11, 'Cat10', 10),
new Category(12, 'Cat11', 1),
new Category(13, 'Cat12', 8)
]
我需要使用该对象数组来制作一个如下所示的无序列表:
<ul>
<li>Cat1
<ul>
<li>Cat2</li>
<li>Cat8</li>
</ul>
<li>Cat4
<ul>
<li>Cat3</li>
<li>Cat5</li>
<li>Cat6</li>
</ul>
</li>
<li>Cat7
<ul>
<li>Cat12</li>
</ul>
</li>
<li>Cat8</li>
<li>Cat9
<ul>
<li>Cat10</li>
</ul>
</li>
<li>Cat11</li>
</ul>
目前,我的数据最深的是 3 层,但我希望能够让脚本执行任意数量的层。
jQuery 可以做到这一点。