当前位置:首页 > 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 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。其核心特点是“写得更少…

jquery作用

jquery作用

jQuery的作用概述 jQuery是一个快速、简洁的JavaScript库,主要用于简化HTML文档遍历、事件处理、动画设计和Ajax交互等操作。其核心目标是让开发者以更少的代码完成更多功能,同时解…

jquery 筛选器

jquery 筛选器

jQuery 筛选器 jQuery 筛选器用于从一组匹配的元素中进一步筛选出符合条件的子集。这些筛选器可以基于元素的位置、内容、属性或状态进行筛选。 基本筛选器 :first 选择第一个匹配的元素。…

jquery添加

jquery添加

jQuery 添加元素的方法 在jQuery中,添加元素到DOM有多种方式,可以根据需求选择合适的方法。 append() 将内容插入到选定元素的内部末尾处。 $("#container").ap…

jquery 函数

jquery 函数

jQuery 函数基础 jQuery 是一个快速、简洁的 JavaScript 库,通过封装原生 JavaScript 功能简化 DOM 操作、事件处理、动画等。核心函数 $() 或 jQuery()…

jquery 验证

jquery 验证

jQuery 表单验证方法 jQuery 表单验证可以通过多种方式实现,常见的有原生 jQuery 代码验证和使用 jQuery 验证插件(如 jQuery Validation Plugin)。…