树形菜单是一种常见的用户界面元素,用于展示层次结构的数据。每个节点可以有零个或多个子节点,形成一个树状结构。树形菜单通常用于文件系统、组织结构、分类目录等场景。
jQuery 是一个流行的 JavaScript 库,可以简化 DOM 操作和事件处理。以下是一个简单的示例,展示如何使用 jQuery 实现一个基本的树形菜单。
<ul id="tree-menu">
<li>节点1
<ul>
<li>子节点1.1</li>
<li>子节点1.2</li>
</ul>
</li>
<li>节点2
<ul>
<li>子节点2.1</li>
<li>子节点2.2</li>
</ul>
</li>
</ul>
$(document).ready(function() {
// 默认展开所有节点
$('#tree-menu li').has('ul').children('ul').css('display', 'block');
// 点击节点时展开或折叠子节点
$('#tree-menu li').click(function(event) {
event.stopPropagation();
$(this).children('ul').slideToggle();
});
});
event.stopPropagation()
防止事件冒泡。$.ajax({
url: 'path/to/data',
method: 'GET',
success: function(data) {
var treeMenu = $('#tree-menu');
$.each(data, function(index, item) {
var li = $('<li>').text(item.name);
if (item.children && item.children.length > 0) {
var ul = $('<ul>');
$.each(item.children, function(childIndex, childItem) {
ul.append($('<li>').text(childItem.name));
});
li.append(ul);
}
treeMenu.append(li);
});
}
});
通过以上方法,你可以实现一个基本的树形菜单,并根据需要进行扩展和优化。
领取专属 10元无门槛券
手把手带您无忧上云