我的菜单项的数组,每个都包含名称和URL这样的URL路径结构嵌套UL菜单:创建基于菜单项
var menuItems = [
{
name : "Store",
url : "/store"
},
{
name : "Travel",
url : "/store/travel"
},
{
name : "Gardening",
url : "/store/gardening"
},
{
name : "Healthy Eating",
url : "/store/healthy-eating"
},
{
name : "Cook Books",
url : "/store/healthy-eating/cook-books"
},
{
name : "Single Meal Gifts",
url : "/store/healthy-eating/single-meal-gifts"
},
{
name : "Outdoor Recreation",
url : "/store/outdoor-recreation"
},
{
name : "Hiking",
url : "/store/outdoor-recreation/hiking"
},
{
name : "Snowshoeing",
url : "/store/outdoor-recreation/hiking/snowshoeing"
},
{
name : "Skiing",
url : "/store/outdoor-recreation/skiing"
},
{
name : "Physical Fitness",
url : "/store/physical-fitness"
},
{
name : "Provident Living",
url : "/store/provident-living"
}
]
我一直没有成功试图渲染这是一个嵌套的UL结构后面的URL路径结构,像这样一个无序列表:
<ul>
<li><a href="/store">Store</a>
<ul>
<li><a href="/store/travel">Travel</a></li>
<li><a href="/store/gardening">Gardening</a></li>
<li><a href="/store/healthy-eating">Healthy Eating</a>
<ul>
<li><a href="/store/healthy-eating/cook-books">Cook Books</a></li>
<li><a href="/store/healthy-eating/single-meal-gifts">Single Meal Gifts</a></li>
</ul>
</li>
<li><a href="/store/outdoor-recreation">Outdoor Recreation</a>
<ul>
<li><a href="/store/outdoor-recreation/hiking">Hiking</a>
<ul>
<li><a href="/store/outdoor-recreation/hiking/snowshoeing">Snowshoeing</a></li>
</ul>
</li>
<li><a href="/store/outdoor-recreation/skiing">Skiing</a></li>
</ul>
</li>
<li><a href="/store/physical-fitness">Physical Fitness</a></li>
<li><a href="/store/provident-living">Provident Living</a></li>
</ul>
</li>
</ul>
所有我见过有一个数据结构,反映了亲子关系(例如XML或开始实例JSON),但我有一个非常困难的时间拉出这个网址和使用它来呈现新的结构。
如果有人可以请指导我正确的方向使用jQuery如何做到这一点,我真的很感激它。我意识到我可能需要使用一些递归函数或jQuery模板,但这些东西对我来说还是有点新的。
谢谢
这工作得很好,但一个“例外”:如果有一个子节点没有定义父节点就会像父母/ mainnode添加。我不知道这是否是一种想要的副作用,但它可能是合理的。 – buschtoens
对不起,但这不起作用,我试了几次你的代码。它适用于第一个节点,但当下一个兄弟节点中有子节点时,下一个兄弟节点的子节点将被添加到第一个节点的子节点列表中。 –
@Davide,如何使用成形的HTML数据来渲染树?再次,递归函数 – 2017-08-23 08:04:21