2

我有多个路径字符串(每个叶节点一个),例如

项目1

项目2

带有一些子项的文件夹/子项 3.1

带有一些子项的文件夹/子项 3.2

带有一些孩子的文件/子项目 4.1

带有一些孩子的文件/子项目 4.2

其中item 1、item 2、Sub-item 3.1、3.2、4.1、4.2为叶子节点;我想要做的是构建一个这样的嵌套 HTML:

  <ul>
        <li>item1
        <li>item2
        <li>Folder with some children
            <ul>
                <li>Sub-item 3.1
                <li>Sub-item 3.2
            </ul>

        <li>Document with some children
            <ul>
                <li>Sub-item 4.1
                <li>Sub-item 4.2
            </ul>
    </ul>

或者像这样的 JSON 对象:

[
     {title: "Item 1"},
     {title: "Item 2"},
     {title: "Folder with some children",
         children: [
             {title: "Sub-item 3.1"},
             {title: "Sub-item 3.2"}
         ]
     },
     {title: "Document with some children",
         children: [
             {title: "Sub-item 4.1"},
             {title: "Sub-item 4.2"}
         ]
     }
]

但我很难做到这一点。我花了 10 个小时来解决这个问题。我愿意使用 jquery。请你能指导我正确的方向吗?我的 javascript 仍然不够好,无法即时执行这些操作。

4

3 回答 3

0

您可能希望研究“递归函数”,它应该为您提供对此类问题有用的技术的良好开端。

于 2011-06-29T15:12:06.270 回答
0

我发现最好的方法是使用 javascript 的 createElement 和递归函数构建 html 元素,最后将其附加到 DOM 中。

于 2011-07-08T15:41:50.370 回答
0

它不在 jQuery 中,但也许这会有所帮助。我在寻找网络后开发了这个,但没有找到解决方案。

http://www.chapleau.info/article/ArrayofUrlsToASitemap.html

于 2011-10-31T17:20:07.470 回答