支持IE6的树形节结构TreeTable
关于TreeTable实际应用的案例:http://www.cnblogs.com/qigege/p/5213689.html
treeTable是跨浏览器、性能很高的jquery的树表组件,它使用非常简单,只需要引用jquery库和一个js文件,接口也很简单。
优点
- 兼容主流浏览器: 支持IE6和IE6+, Firefox, chrome, Opera, Safari
- 接口简洁: 在普通表格的基础上增加父子关系的自定义标签就可以
- 组件性能高: 内部实现了只绑定了table的事件、使用了css sprite合并图片等
- 提供两种风格: 通过参数来设置风格

配置参数
- theme: string {主题,有两个选项:default、vsStyle. 默认:default}
- expandLevel: int {树表的展开层次. 默认:1}
- column: int {可控制列的序号. 默认:0,即第一列}
- onSelect: function {拥有controller自定义属性的元素的点击事件,return false则中止展开. 默认值:
function($treeTable, id) { //$treeTable 当前树表的jquery对象. //id 当前行的id //返回false,则直接退出,不会激发后面的beforeExpand和子节点的展开 return true; } - beforeExpand: {展开子节点前触发的事件, 默认值:
function($treeTable, id) { //$treeTable 当前树表的jquery对象. //id 当前行的id }
属性说明
- id: string 行的id
- pId: string 父行的id
- controller: bool 指定某一个元素是否可以控制行的展开
- hasChild: bool 指定某一个tr元素是否有孩子(动态加载需用到)
- isFirstOne: bool 指定某一个tr元素是否是第一个孩子(自动生成属性,只读)
- isLastOne: bool 指定某一个tr元素是否是最后一个孩子(自动生成属性,只读)
- prevId: string 前一个兄弟节点的id(自动生成属性,只读)
- depth: string 当前行的深度(自动生成属性,只读)
$("#元素id").treeTable({}) 如:
引用的文件
<script src="/script/jquery.js" type="text/javascript"> </script>
<script src="/script/treeTable/jquery.treeTable.js" type="text/javascript"> </script>
js代码
<script type="text/javascript">
$(function(){
var option = {
theme:'vsStyle',
expandLevel : 2,
beforeExpand : function($treeTable, id) {
//判断id是否已经有了孩子节点,如果有了就不再加载,这样就可以起到缓存的作用
if ($('.' + id, $treeTable).length) { return; }
//这里的html可以是ajax请求
var html = '<tr id="8" pId="6"><td>5.1</td><td>可以是ajax请求来的内容</td></tr>'
+ '<tr id="9" pId="6"><td>5.2</td><td>动态的内容</td></tr>'; $treeTable.addChilds(html);
},
onSelect : function($treeTable, id) {
window.console && console.log('onSelect:' + id);
} };
$('#treeTable1').treeTable(option);
});
</script>
html结构
<table id="treeTable1" style="width: 100%">
<tr>
<td style="width: 200px;">
标题</td>
<td>
内容</td>
</tr>
<tr id="1">
<td>
<span controller="true">1</span></td>
<td>
内容</td>
</tr>
<tr id="2" pid="1">
<td>
<span controller="true">2</span></td>
<td>
内容</td>
</tr>
<tr id="3" pid="2">
<td>
3</td>
<td>
内容</td>
</tr>
<tr id="4" pid="2">
<td>
4</td>
<td>
内容</td>
</tr>
<tr id="5" pid="4">
<td>
4.1</td>
<td>
内容</td>
</tr>
<tr id="6" pid="1" haschild="true">
<td>
5</td>
<td>
注意这个节点是动态加载的</td>
</tr>
<tr id="7">
<td>
8</td>
<td>
内容</td>
</tr>
</table>
关于
作者: benzhan(詹潮江)
版本变更
1.0版本:创建基本功能。(2011-05-04)
1.1版本:(2011-05-08)
这个版本提高了性能,做了以下改进: * 1、使用了Css Sprite Tools 合并了分散的图标
* 2、使用了.id的方式来代替原来[pId=id],这样选择孩子效率更高
* 3、把css剥离出来,增加动态添加css,每次家在前判断是否添加过
关于第二点,非常感谢onli同学的提醒。但我并没有直接修改我的接口,直接除去pId,而是在第一次遍历时将pId作为class名添加到节点中。这样有两个好处: (1)接口可读性会比较好,pId比class更容易理解。 (2)第二点,如果直接使用class,那节点本来就有样式,这样获取到的className还要去分解空格得到pId,挺麻烦的。
1.3版本:(2011-05-09)
这个版本扩展了事件,做了以下改进:
* 1、增加onSelect事件,onSelect: function($treeTable, id){}
* 2、增加beforeExpand事件,beforeExpand : function($treeTable, id){} 动态加载节点就靠beforeExpand 事件了。
1.4.2版本:(2011-09-03)
这个版本修复了bug,做了以下改进:
* 1、修复了多个tableTree不在同个页面的bug,并且可以让不同的tableTree使用不同的主题。
* 2、增加了controller的自定义标签来控制可点击的区域。
支持IE6的树形节结构TreeTable的更多相关文章
- 支持IE6的树形节结构TreeTable实际应用案例
<script src="jquery.js" type="text/javascript"></script> <script ...
- 国人Web前端开发必备干货,一个完美支持IE6在内所有浏览器的CSS框架
摘要: 企户动CSS框架是一个能够完美支持IE6~7在内的所有浏览器的 HTML&CSS 前端框架!给Web开发提供了自适应宽度的百分比多列网格,以及已语义化和结构化的标题.段落.列表.表格. ...
- MySQL 树形索引结构 B树 B+树
MySQL 树形索引结构 B树 B+树 如何评估适合索引的数据结构 索引的本质是一种数据结构 内存只是临时存储,容量有限且容易丢失数据.因此我们需要将数据放在硬盘上. 在硬盘上进行查询时也就产生了 ...
- jQuery 2.0发布,不再支持IE6/7/8
有时发现jQuery库引用的都对,javascript代码写的也没问题,可是jquery就是出现问题,额--我发现换个jquery库就没问题了,长时间不关注jquery的问题而已: 很多人都没有使用最 ...
- 淘宝天猫网站停止支持IE6、IE7浏览器,你还在用xp吗?
2016年4月14日,是科比正式告别篮球的最后一场球赛.大家都在忙着各种纪念和怀念着看科比打球的青葱岁月.不过已经完美谢幕.而我们今天要说的是微软的IE6.IE7浏览器.淘宝网和天猫商城正式停止支持I ...
- CSS判断不同分辨率显示不同宽度布局CSS3技术支持IE6到IE8
CSS判断不同分辨率浏览器(显示屏幕)显示不同宽度布局CSS3技术支持IE6到IE8.将用到css3 @media样式进行判断,但IE9以下版本不支持CSS3技术,这里DIVCSS5给大家介绍通过JS ...
- [SinGuLaRiTy] 树形存储结构阶段性测试
[SinGuLaRiTy-1011] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. G2019级信息奥赛专项训练 题目 程序名 时间 内存 ...
- oracle 树形表结构查询 排序
oracle 树形表结构排序 select * from Table start with parentid is null connect by prior id=parentid order SI ...
- Java实现遍历N级树形目录结构
最近挺忙,一直在做项目,然后有个树形目录结构需要返回给前端,这里给大家说一下实现的思路. 具体达到的效果类似: 一级目录A: 二级目录A: 三级目录: 四级目录: 文件.txt 二级目录B: 文件1. ...
随机推荐
- java 转义字符
\t 相当于tab,缩进\n 回车\r 换行\b 换成 一个黑点
- 移动的rem自适应
(function (doc, win) { var docEl = doc.documentElement, //html resizeEvt = 'orientationchange' in wi ...
- In-Memory:Hash Index
SQL Server 2016支持哈希查找,用户可以在内存优化表(Memory-Optimized Table)上创建Hash Index,使用Hash 查找算法,实现数据的极速查找.在使用上,Has ...
- 关于java设计模式与极品飞车游戏的思考
------- android培训.java培训.期待与您交流! ---------- 对像我一样正在学习java的人来讲,对设计模式的学习是个很重要的环节.而我们在学习设计模式时,不仅仅应该知道它们 ...
- 重构11-Switch to Strategy(Switch到策略模式)
重构没有固定的形式,多年来我使用过不同的版本,并且我敢打赌不同的人也会有不同的版本. 该重构适用于这样的场景:switch语句块很大,并且会随时引入新的判断条件.这时,最好使用策略模式将每个条件封装到 ...
- EL表达式与JSTL(C)标签
一.EL表达式: Expression Language提供了在 JSP 脚本编制元素范围外(例如:脚本标签)使用运行时表达式的功能.脚本编制元素是指页面中能够用于在JSP 文件中嵌入 Java 代码 ...
- 20145102 《Java程序设计》第3周学习总结
20145102 <Java程序设计>第3周学习总结 教材学习内容总结 以""包含的字符串,只要内容相同(序列,大小写相同),无论在程序代码中出现几次,都只会建立一个S ...
- My Linux API
@图形界面与命令行界面切换 Linux预设提供了六个命令窗口终端机让我们来登录.默认我们登录的就是第一个窗口,也就是tty1,这个六个窗口分别为tty1,tty2 … tty6,你可以按下Ctrl + ...
- [转]使用 HTML5 索引型数据库的待办事项简要列表
本文转自:http://www.html5rocks.com/zh/tutorials/indexeddb/todo/ <!DOCTYPE html><html> <h ...
- 初识--Ajax & Json
1,AJAX是一种进行页面局部异步刷新技术. 用AJAX向服务器发送请求和获得服务器返回的数据并更新到页面中. 不是刷新整个页面,而是在HTML页面中使用JavaScript创建XMLHTTPRequ ...