当前位置:首页 > jquery

jquery树

2026-03-02 16:36:45jquery

jQuery 树形结构插件

jQuery 提供了多种插件用于创建和管理树形结构,常见的有 jsTree、FancyTree 和 Dynatree。以下是它们的简要介绍和使用方法。

jsTree

jsTree 是一个功能强大的 jQuery 树形插件,支持拖放、复选框、异步加载等功能。以下是基本用法:

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.3.12/themes/default/style.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.3.12/jstree.min.js"></script>

<div id="tree"></div>

<script>
$('#tree').jstree({
  'core': {
    'data': [
      { "text": "Root node", "children": [
        { "text": "Child node 1" },
        { "text": "Child node 2" }
      ]}
    ]
  }
});
</script>

FancyTree

FancyTree 是一个灵活的树形插件,支持懒加载、键盘导航和多种主题。基本示例:

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fancytree/2.38.0/skin-win8/ui.fancytree.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/fancytree/2.38.0/jquery.fancytree-all.min.js"></script>

<div id="tree"></div>

<script>
$("#tree").fancytree({
  source: [
    {title: "Node 1", folder: true, children: [
      {title: "Child 1"},
      {title: "Child 2"}
    ]}
  ]
});
</script>

Dynatree

Dynatree 是另一个流行的树形插件,但目前已不再维护。基本用法:

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/dynatree/1.2.5/skin-vista/ui.dynatree.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/dynatree/1.2.5/jquery.dynatree.min.js"></script>

<div id="tree"></div>

<script>
$("#tree").dynatree({
  children: [
    {title: "Folder 1", isFolder: true, children: [
      {title: "Item 1"},
      {title: "Item 2"}
    ]}
  ]
});
</script>

自定义树形结构

如果需要简单实现树形结构而不依赖插件,可以使用 jQuery 操作 DOM:

<ul id="tree">
  <li>Parent
    <ul>
      <li>Child 1</li>
      <li>Child 2</li>
    </ul>
  </li>
</ul>

<script>
$("#tree li").click(function(e) {
  e.stopPropagation();
  $(this).children("ul").toggle();
});
</script>

异步加载数据

对于大型树形结构,异步加载可以提高性能:

$('#tree').jstree({
  'core': {
    'data': {
      'url': '/api/tree',
      'data': function(node) {
        return { 'id': node.id };
      }
    }
  }
});

树形结构主题

大多数插件支持主题定制,可以通过 CSS 修改外观:

jquery树

.jstree-default .jstree-clicked {
  background: #e0f7fa;
}

以上方法提供了从简单到复杂的树形结构实现方案,可根据项目需求选择合适的插件或自定义实现。

标签: jquery
分享给朋友:

相关文章

jquery下载

jquery下载

jQuery下载方法 官方下载渠道 访问jQuery官网(https://jquery.com/),点击页面中的“Download”按钮。提供两个版本选择: Production版本:压缩后的精…

react 如何引入jquery

react 如何引入jquery

引入 jQuery 到 React 项目 在 React 项目中引入 jQuery 可以通过多种方式实现,但需要注意 React 和 jQuery 操作 DOM 的方式可能冲突,因此建议仅在必要时使用…

jquery获取radio选中的值

jquery获取radio选中的值

获取radio选中的值 使用jQuery获取被选中的radio按钮的值可以通过以下几种方法实现: 方法1:使用:checked选择器 var selectedValue = $('input[na…

jquery 添加

jquery 添加

jQuery 添加元素的方法 动态添加 HTML 内容 使用 append()、prepend()、after() 或 before() 方法可以在 DOM 中插入新元素。 // 在元素内部末尾…

jquery滑动

jquery滑动

jQuery 滑动效果实现方法 使用 slideDown() 和 slideUp() slideDown() 用于向下滑动显示元素,slideUp() 用于向上滑动隐藏元素。两者均可设置动画持续时间(…

jquery获取id

jquery获取id

jQuery 获取元素 ID 的方法 使用 jQuery 获取元素的 ID 可以通过多种方式实现,具体取决于需求和场景。以下是几种常见的方法: 通过属性选择器直接获取 使用 jQuery 的属性选择…