jQuery 是一个快速、小巧且功能丰富的 JavaScript 库,它简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。树菜单是一种常见的用户界面元素,用于展示层次结构的数据,通常以树状结构呈现。
树菜单可以分为静态和动态两种类型:
树菜单广泛应用于各种需要展示层次结构数据的场景,如文件管理器、组织结构图、分类目录等。
以下是一个使用 jQuery 实现树菜单点击变色的示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery Tree Menu Click Highlight</title>
<style>
.tree-menu li {
cursor: pointer;
}
.highlight {
background-color: yellow;
}
</style>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<ul class="tree-menu">
<li>Item 1
<ul>
<li>Sub Item 1.1</li>
<li>Sub Item 1.2</li>
</ul>
</li>
<li>Item 2
<ul>
<li>Sub Item 2.1</li>
<li>Sub Item 2.2</li>
</ul>
</li>
</ul>
<script>
$(document).ready(function() {
$('.tree-menu li').click(function() {
// 移除所有高亮
$('.tree-menu li').removeClass('highlight');
// 添加当前点击项的高亮
$(this).addClass('highlight');
});
});
</script>
</body>
</html>
event.stopPropagation()
阻止事件冒泡。$('.tree-menu li').click(function(event) {
event.stopPropagation();
$('.tree-menu li').removeClass('highlight');
$(this).addClass('highlight');
});
$('.tree-menu').on('click', 'li', function(event) {
event.stopPropagation();
$('.tree-menu li').removeClass('highlight');
$(this).addClass('highlight');
});
通过以上方法,可以有效地实现 jQuery 树菜单的点击变色功能,并解决可能遇到的问题。
领取专属 10元无门槛券
手把手带您无忧上云