当前位置:首页 > 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 修改外观:

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

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

jquery树

标签: jquery
分享给朋友:

相关文章

jquery之家

jquery之家

jQuery之家相关资源 jQuery之家是一个提供jQuery插件、教程和资源的网站,适合开发者学习和使用jQuery技术。以下是关于jQuery之家的主要内容和资源: 网站内容 提供丰富的…

jquery选择器

jquery选择器

jQuery 选择器基础 jQuery 选择器用于选取 DOM 元素,基于 CSS 选择器语法扩展。通过 $() 或 jQuery() 函数调用,返回匹配元素的集合。 常见选择器类型 元素…

jquery属性

jquery属性

jQuery 属性操作 jQuery 提供了多种方法来操作 HTML 元素的属性。这些方法可以用于获取、设置、修改或删除元素的属性。 获取属性值 使用 attr() 方法可以获取指定属性的值。例如…

jquery代码

jquery代码

以下是关于jQuery代码的常见用法和示例,涵盖基础操作、事件处理、DOM操作等核心功能: 基础语法 jQuery通过$()函数选择元素,支持CSS选择器语法: // 选择所有<p>…

jquery 效果

jquery 效果

jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。jQuery 提供了丰富的效果(Effects)功能,可以轻松实现元素的动态显…

jquery验证

jquery验证

jQuery 验证的基本方法 使用 jQuery 进行表单验证可以通过多种方式实现,以下是一些常见的方法和插件: 使用 jQuery 原生方法 通过 jQuery 选择器和事件处理函数,可以手动编写…