当前位置:首页 > 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 api

jquery api

jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。以下是 jQuery API 的核心功能和使用方法: 选择器 jQuery…

jquery点击

jquery点击

jQuery 点击事件绑定方法 使用 jQuery 绑定点击事件可以通过多种方式实现,以下是几种常见的方法: click() 方法绑定 $("#elementId").click(function…

jquery 属性

jquery 属性

jQuery 属性操作 jQuery 提供了一系列方法来获取、设置和操作 HTML 元素的属性。以下是常用的属性操作方法: attr() 方法 用于获取或设置元素的属性值。获取属性时,传入属性名;设…

jquery 加载

jquery 加载

jQuery 加载方法 使用jQuery需要先将其库文件加载到网页中。以下是几种常见的加载方式: 通过CDN加载 推荐使用官方或公共CDN(内容分发网络)加载jQuery,速度快且可能被浏览器缓存:…

jquery下拉

jquery下拉

jQuery 实现下拉效果的方法 使用 slideDown() 和 slideUp() 方法 通过 slideDown() 展开元素,slideUp() 收起元素,实现平滑的下拉动画效果。 $(…

jquery获取元素

jquery获取元素

jQuery 获取元素的方法 jQuery 提供了多种方法来获取 DOM 元素,以下是常见的几种方式: 通过 ID 选择器获取元素 使用 #id 选择器可以获取具有特定 ID 的元素。例如: $(…