如何动态给节点增加title属性或者修改提示信息值?

如何动态给节点增加title属性或者修改提示信息值?,第1张

对于zTree树控件,节点的默认提示信息title是节点的name,也就是默认显示节点的名称。你认真了解zTree,不难发现主要是key值在作祟:\x0d\x0a\x0d\x0aview sourceprint?\x0d\x0a1.var setting = {\x0d\x0a2.data: {\x0d\x0a3.key: {\x0d\x0a4.title: "s"//这里的s表示节点内的s属性\x0d\x0a5.},\x0d\x0a\x0d\x0a这里的key内的title默认指向的就是name属性,或者为空,为空的时候也会默认为name属性。\x0d\x0a针对这位朋友的问题,其实方法很多:\x0d\x0a1、在后台构造属性\x0d\x0a在ajax页面内从数据库拿到数据list过后通过new的形式给最终返回的json对象构造一个属性t出来。然后修改setting内key的title指向属性值为t即可。\x0d\x0a返回的json对象数据为:\x0d\x0a\x0d\x0aview sourceprint?\x0d\x0a1.var zNodes =[\x0d\x0a2.{ id:1, pId:0, name:"节点搜索演示 1", t:"节点提示信息1", open:true},\x0d\x0a3.{ id:11, pId:1, name:"关键字可以是名字", t:"节点提示信息2"},\x0d\x0a4.{ id:12, pId:1, name:"关键字可以是level", t:"节点提示信息3"}\x0d\x0a5.]\x0d\x0a\x0d\x0a修改setting内对应的key值\x0d\x0a\x0d\x0aview sourceprint?\x0d\x0a1.var setting = {\x0d\x0a2.data: {\x0d\x0a3.key: {\x0d\x0a4.title: "t"//这里的s表示节点内的s属性\x0d\x0a5.},\x0d\x0a\x0d\x0a2、动态修改树节点的属性\x0d\x0a当前台给zTree树对象赋值结束后获取所有树节点,然后逐个更新树节点的属性值,示例代码如下所示:\x0d\x0a\x0d\x0aview sourceprint?\x0d\x0a01.$(document).ready(function () {\x0d\x0a02.$.fn.zTree.init($("#treeDemo"), setting, zNodes)\x0d\x0a03.//获取树对象\x0d\x0a04.var treeObj = $.fn.zTree.getZTreeObj("treeDemo")\x0d\x0a05.//拿到所有树节点\x0d\x0a06.var nodes = treeObj.getNodes()\x0d\x0a07.//for循环逐个修改树节点属性\x0d\x0a08.for(var i = 0i 回答于 2022-12-11

1、遍历 json 对象的属性

//定义json对象 var person= { name: 'zhangsan', pass: '123', fn: function(){ alert(this.name+"的密码="+this.pass)} } //遍历person属性包括方法,如果不想显示出方法,可用typeof(person[item])== "function"来判断 for(var item in person){ alert("person中"+item+"的值="+person[item]) }

2、动态为 json对象 添加属性

需要 使用1中的 person对象

var copyPerson={} //创建copyPerson对象,将person中的属性包括方法copy给该对象 for(var item in person){ copyPerson[item]= person[item] //这样循环就可以将person中的属性包括方法copy到copyPerson中了 } for(var item in copyPerson){ alert("copyPerson中"+item+"的值="+person[item]) }

注意:使用 Ext.apply(copyPerson, person) 也可以 将person中的所有属性包括方法 copy到 copyPerson中

3、遍历 普通js对象的 属性

//定义一个普通的js类,包含方法 var p= function (){ this.name= '李四' this.pass= '456' this.fn= function(){alert(this.name+"的密码="+this.pass) } } var pp= new p() //生成一个p类的对象 pp for(var item in pp){ //遍历pp对象中的属性,只显示出 非函数的 属性,注意不能 遍历 p这个类 if(typeof(pp[item])== "function")continue alert("p对象中"+item+"的属性="+pp[item]) }

普通的 js对象 也可以copy,copy方法和 2.动态为 json对象 添加属性 思路一样。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11565740.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存