我需要使用 jquery 动态创建以下菜单栏结构。
-Setting
--System
---user
---group
---acl
--Vresource
---vms
---vnet-conf
--Configuration
---template
---image
在我的情况下,系统的子菜单{user,group,acl} 属于设置而不是系统菜单。
我已经在我的 .js 文件中编写了以下代码。
var li_item = '<li id="li_'+tab_name+'" class="'+tabClass+' '+parent+'"><a href="#">'+tab_info.title+'<span class="icon-caret-left icon-large plusIcon right"></span></a></li>';
//if this is a submenu... div#menu ul#navigation li.vresources-tab
if (parent.length) {
var children = $('div#menu ul#navigation li.'+parent);
//if there are other submenus, insert after last of them
if (children.length){
$(children[children.length-1]).after(li_item);
}else{ //instert after parent menu
$('div#menu ul#navigation li#li_'+parent).after(li_item);
}
} else { //not a submenu, instert in the end
$('div#menu ul#navigation').append(li_item);
};
此代码生成波纹管 html 片段。
<div class="menu-navZ">
<ul id="navigation" class="tabs vertical">
<li id="li_settings-tab" class="topTab tab_with_no_content">
<li id="li_system-tab" class="subTab topTab tab_with_no_content settings-tab" style="display: none;">
<li id="li_vresources-tab" class="subTab topTab tab_with_no_content settings-tab" style="display: none;">
<li id="li_configuration-tab" class="subTab topTab tab_with_no_content settings-tab" style="display: none;">
<li id="li_templates-tab" class="subTab subsubTab configuration-tab" style="display: none;">
<li id="li_images-tab" class="subTab subsubTab configuration-tab" style="display: none;">
<li id="li_vms-tab" class="subTab subsubTab vresources-tab" style="display: none;">
<li id="li_vnetconf-tab" class="subTab subsubTab topTab vresources-tab" style="display: none;">
<li id="li_users-tab" class="subTab subsubTab system-tab" style="display: none;">
<li id="li_groups-tab" class="subTab subsubTab system-tab" style="display: none;">
<li id="li_acls-tab" class="subTab subsubTab system-tab" style="display: none;">
</ul>
</div>
正如你在这里看到<li>
的,子菜单的语句以错误的方式生成,它应该在正确的菜单下,就像最后三个语句 user、group 和 acl 应该在系统下。
预期输出:
<div class="menu-navZ">
<ul id="navigation" class="tabs vertical">
<li id="li_settings-tab" class="topTab tab_with_no_content">
<li id="li_system-tab" class="subTab topTab tab_with_no_content settings-tab" style="display: none;">
<li id="li_users-tab" class="subTab subsubTab system-tab" style="display: none;">
<li id="li_groups-tab" class="subTab subsubTab system-tab" style="display: none;">
<li id="li_acls-tab" class="subTab subsubTab system-tab" style="display: none;">
<li id="li_vresources-tab" class="subTab topTab tab_with_no_content settings-tab" style="display: none;">
<li id="li_vms-tab" class="subTab subsubTab vresources-tab" style="display: none;">
<li id="li_vnetconf-tab" class="subTab subsubTab topTab vresources-tab" style="display:
<li id="li_configuration-tab" class="subTab topTab tab_with_no_content settings-tab" style="display: none;">
<li id="li_templates-tab" class="subTab subsubTab configuration-tab" style="display: none;">
<li id="li_images-tab" class="subTab subsubTab configuration-tab" style="display: none;">
none;">
</ul>
</div>
请帮我解决这个问题。