jsTree 是一个 jQuery 插件, 提供交互式树.它是完全免费的,开源的,并根据 MIT 许可进行分发,jsTree 易于扩展,可定义和配置,它支持 HTML 和 JSON 数据源以及 AJAX 加载。
- 中文文档列表:jsTree 核心功能 - jsTree 中文文档 - 文江博客
- 官网:https://www.jstree.com/
- 中文文档:https://www.wenjiangs.com/docs/jstree
步骤:
引入css文件:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.2.1/themes/default/style.min.css" />
引入jQuery文件:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.1/jquery.min.js"></script>
引入jsTree文件:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.2.1/jstree.min.js"></script>
body的主体代码:
<div id="jstree_demo_div">
<ul>
<li>根节点 1
<ul>
<li>子节点 1</li>
<li><a href="#">子节点 2</a></li>
</ul>
</li>
</ul>
</div>
创建一个实例:
$(function () {
$('#jstree_demo_div').jstree();
});
监听事件:
$('#jstree_demo_div').on("changed.jstree", function (e, data) {
console.log(data.selected);
});
与实例互动:
$('button').on('click', function () {
$('#jstree').jstree(true).select_node('child_node_1');
$('#jstree').jstree('select_node', 'child_node_1');
$.jstree.reference('#jstree').select_node('child_node_1');
});
总的代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.2.1/themes/default/style.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.2.1/jstree.min.js"></script>
</head>
<body>
<div id="jstree_demo_div">
<ul>
<li>根节点 1
<ul>
<li>子节点 1</li>
<li><a href="#">子节点 2</a></li>
</ul>
</li>
<li>根节点 2</li>
</ul>
</div>
<script>
$(function () {
$('#jstree_demo_div').jstree();
});
$('#jstree_demo_div').on("changed.jstree", function (e, data) {
console.log(data.selected);
});
$('button').on('click', function () {
$('#jstree').jstree(true).select_node('child_node_1');
$('#jstree').jstree('select_node', 'child_node_1');
$.jstree.reference('#jstree').select_node('child_node_1');
});
</script>
</body>
</html>
欢迎学习,一起进步!!!