jQuery zTree如何改变指定节点文本样式


Posted in jQuery onOctober 16, 2020

需求:打开页面后已经生成一棵带有节点的树,需要实时更新该树每个节点的状态,根据状态,改变节点的ICON和FONT样式。

说明:找了一下,基本上都是说加载时指定颜色的,加载时指定颜色的用法,在官方示例中就有说明:

示例:显示自定义字体的树

<SCRIPT type="text/javascript"> 
  <!-- 
  var setting = { 
    view: { 
      fontCss: getFont, 
      nameIsHTML: true 
    } 
  }; 
  var zNodes =[ 
    { name:"粗体字", <span style="color: #ff0000;">font:{'font-weight':'bold'}</span> }, 
    { name:"斜体字", font:{'font-style':'italic'}}, 
    { name:"有背景的字", font:{'background-color':'black', 'color':'white'}}, 
    { name:"红色字", font:{'color':'red'}}, 
    { name:"蓝色字", font:{'color':'blue'}}, 
    { name:"<span style='color:blue;margin-right:0px;'>view</span>.<span style='color:red;margin-right:0px;'>nameIsHTML</span>"}, 
    { name:"zTree 默认样式"} 
  ]; 
  function getFont(treeId, node) { 
    return node.font ? node.font : {}; 
  } 
  $(document).ready(function(){ 
    $.fn.zTree.init($("#treeDemo"), setting, zNodes); 
  }); 
  //--> 
</SCRIPT>

示例:自定义图标 -- icon 属性

<SCRIPT type="text/javascript"> 
  <!-- 
  var setting = { 
    data: { 
      simpleData: { 
        enable: true 
      } 
    } 
  }; 
  var zNodes =[ 
    { id:1, pId:0, name:"展开、折叠 自定义图标不同", open:true, iconOpen:"../../../css/zTreeStyle/img/diy/1_open.png", iconClose:"../../../css/zTreeStyle/img/diy/1_close.png"}, 
    { id:11, pId:1, name:"叶子节点1", icon:"../../../css/zTreeStyle/img/diy/2.png"}, 
    { id:12, pId:1, name:"叶子节点2", icon:"../../../css/zTreeStyle/img/diy/3.png"}, 
    { id:13, pId:1, name:"叶子节点3", icon:"../../../css/zTreeStyle/img/diy/5.png"}, 
    { id:2, pId:0, name:"展开、折叠 自定义图标相同", open:true, icon:"../../../css/zTreeStyle/img/diy/4.png"}, 
    { id:21, pId:2, name:"叶子节点1", icon:"../../../css/zTreeStyle/img/diy/6.png"}, 
    { id:22, pId:2, name:"叶子节点2", icon:"../../../css/zTreeStyle/img/diy/7.png"}, 
    { id:23, pId:2, name:"叶子节点3", <span style="color: #ff0000;">icon:"../../../css/zTreeStyle/img/diy/8.png"</span>}, 
    { id:3, pId:0, name:"不使用自定义图标", open:true }, 
    { id:31, pId:3, name:"叶子节点1"}, 
    { id:32, pId:3, name:"叶子节点2"}, 
    { id:33, pId:3, name:"叶子节点3"} 
  ]; 
  $(document).ready(function(){ 
    $.fn.zTree.init($("#treeDemo"), setting, zNodes); 
  }); 
  //--> 
</SCRIPT>

可以看到每个NODE都有一个FONT的属性,和NAME同等级。可以通过设置FONT来指定其文本样式。

通过第二个示例可以看到,还有一个ICON属性。可以通过设置ICON属性来设置更改后的图标。

应用:实时更新树状态ICON和FONT样式

$(document).ready(function(){ 
  $.fn.zTree.init($("#treeDemo"), setting, zNodes); 
  zTree = $.fn.zTree.getZTreeObj("treeDemo"); 
  rMenu = $("#rMenu"); 
  setTimeout("updateDev()",1000);  // 在初始化树之后,开始更新状态,就别用setInterval了 
}); 
var baseImgPath = "<%=basePath%>img/";   // basePath是通过JSP获得的系统根路径,不用相对路径 
function updateTree(){ 
  toDwr.getAllCode(function back(values){ 
    if(null != values && ""!=values){ 
      for(var code in values){ 
        <span style="color: #ff0000;">var node = zTree.getNodeByParam("id", code, null);</span> // 每个树都有编号,通过编号找节点 
        if(null != node){ 
          <span style="color: #ff0000;">node.font={'color':'red'};</span>      // 设置文本样式,这里设置文本颜色 
          <span style="color: #ff0000;">node.icon=baseImgPath+"monitor.png";</span> // 设置节点图标 
          zTree.updateNode(node);       // 更新该节点 
        } 
      } 
    } 
    setTimeout("updateTree()",1000); 
  } 
}

备注:

这里使用DWR进行异步交互,返回需要更新的列表编码。实际应用中可以根据实际情况,返回响应对象,并根据对象的属性判断到底更新为那种样式。

这里不建议使用 setInterval,建议采用setTimeout在轮询一次以后再开始下次更新操作。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
利用jquery去掉时光轴头尾部线条的方法实例
Jun 16 jQuery
jQuery.Form实现Ajax上传文件同时设置headers的方法
Jun 26 jQuery
jQuery常见面试题之DOM操作详析
Jul 05 jQuery
jQuery 实现鼠标画框并对框内数据选中的实例代码
Aug 29 jQuery
jquery select插件异步实时搜索实例代码
Oct 20 jQuery
jQuery除指定区域外点击任何地方隐藏DIV功能
Nov 13 jQuery
jquery animate动画持续运动的实例
Nov 29 jQuery
jQuery实现弹窗下底部页面禁止滑动效果
Dec 19 jQuery
jQuery实现动态控制页面元素的方法分析
Dec 20 jQuery
详解jQuery中的getAll()和cleanData()
Apr 15 jQuery
jquery+css3实现的经典弹出层效果示例
May 16 jQuery
jQuery实现回到顶部效果
Oct 19 jQuery
基于JQuery和DWR实现异步数据传递
Oct 16 #jQuery
jquery简易手风琴插件的封装
Oct 13 #jQuery
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
Oct 09 #jQuery
jQuery实现二级导航菜单的示例
Sep 30 #jQuery
JQuery Ajax如何实现注册检测用户名
Sep 25 #jQuery
jQuery实现带进度条的轮播图
Sep 13 #jQuery
jQuery实现鼠标拖拽登录框移动效果
Sep 13 #jQuery
You might like
不错的一篇面向对象的PHP开发模式(简写版)
2007/03/15 PHP
一个不易被发现的PHP后门代码解析
2014/07/05 PHP
php实现用于删除整个目录的递归函数
2015/03/16 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
2018/02/06 PHP
在 Laravel 6 中缓存数据库查询结果的方法
2019/12/11 PHP
jquery对表单操作2
2011/04/06 Javascript
cument.execCommand()用法深入理解
2012/12/04 Javascript
jQuery实现长文字部分显示代码
2013/05/13 Javascript
查询json的数据结构的8种方式简介
2014/03/10 Javascript
AngularJS快速入门
2015/04/02 Javascript
JQuery select(下拉框)操作方法汇总
2015/04/15 Javascript
详解基于javascript实现的苹果系统底部菜单
2016/12/02 Javascript
js字符限制(字符截取) 一个中文汉字算两个字符
2017/09/12 Javascript
js观察者模式的弹幕案例
2020/11/23 Javascript
[04:26]2014DOTA2西雅图国际邀请赛 总决赛TOPPLAY
2014/07/22 DOTA
python爬取NUS-WIDE数据库图片
2016/10/05 Python
Python 装饰器深入理解
2017/03/16 Python
Python实现曲线点抽稀算法的示例
2017/10/12 Python
Python程序员面试题 你必须提前准备!(答案及解析)
2018/01/23 Python
PyQt5每天必学之进度条效果
2018/04/19 Python
Python 编码规范(Google Python Style Guide)
2018/05/05 Python
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
2019/09/24 Python
Pyspark读取parquet数据过程解析
2020/03/27 Python
Django-migrate报错问题解决方案
2020/04/21 Python
通过Python实现Payload分离免杀过程详解
2020/07/13 Python
美国领先的在线邮轮旅游公司:CruiseDirect
2018/06/07 全球购物
香港万宁官方海外旗舰店:香港健与美连锁店
2018/09/27 全球购物
英国Office鞋店德国网站:在线购买鞋子、靴子和运动鞋
2018/12/19 全球购物
Moda Operandi官网:美国奢侈品电商,海淘秀场T台同款
2020/05/26 全球购物
试解释COMMIT操作和ROLLBACK操作的语义
2014/07/25 面试题
买卖协议书范本
2014/04/21 职场文书
白血病募捐倡议书
2014/05/14 职场文书
公安局副政委班子个人对照检查材料
2014/10/04 职场文书
2015年银行大堂经理工作总结
2015/04/24 职场文书
用Python将GIF动图分解成多张静态图片
2021/06/11 Python
MySQL日期时间函数知识汇总
2022/03/17 MySQL