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

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

对于zTree树控件,节点的默认提示信息title是节点的name,也就是默认显示节点的名称。你认真了解zTree,不难发现主要是key值在作祟:

view sourceprint?

1.var setting = {

2.data: {

3.key: {

4.title: "s"//这里的s表示节点内的s属性

5.},

这里的key内的title默认指向的就是name属性,或者为空,为空的时候也会默认为name属性。

针对这位朋友的问题,其实方法很多:

1、在后台构造属性

在ajax页面内从数据库拿到数据list过后通过new的形式给最终返回的json对象构造一个属性t出来。然后修改setting内key的title指向属性值为t即可。

返回的json对象数据为:

view sourceprint?

1.var zNodes =[

2.{ id:1, pId:0, name:"节点搜索演示 1", t:"节点提示信息1", open:true},

3.{ id:11, pId:1, name:"关键字可以是名字", t:"节点提示信息2"},

4.{ id:12, pId:1, name:"关键字可以是level", t:"节点提示信息3"}

5.]

修改setting内对应的key值

view sourceprint?

1.var setting = {

2.data: {

3.key: {

4.title: "t"//这里的s表示节点内的s属性

5.},

2、动态修改树节点的属性

当前台给zTree树对象赋值结束后获取所有树节点,然后逐个更新树节点的属性值,示例代码如下所示:

view sourceprint?

01.$(document).ready(function () {

02.$.fn.zTree.init($("#treeDemo"), setting, zNodes)

03.//获取树对象

04.var treeObj = $.fn.zTree.getZTreeObj("treeDemo")

05.//拿到所有树节点

06.var nodes = treeObj.getNodes()

07.//for循环逐个修改树节点属性

08.for(var i = 0i<nodes.lengthi++)

09.{

10.nodes[i].t = "可以自定义排序"

11.//更新节点

12.treeObj.updataNode(nodes[i])

13.}

14.})

当前如果只是修改部分节点可以在for内加以控制,如果是只更新指定节点可以通过getNodeByParam("属性名称","值",父节点对象)找到指定对象,形如:

view sourceprint?

1.//给节点追加属性

2.var treeObj = $.fn.zTree.getZTreeObj("treeDemo")

3.var node = treeObj.getNodeByParam("id", 1, null)

4.node.s = "可以自定义排序"

5.treeObj.updateNode(node)

你可以这样 *** 作:

<div id="untitle"></div>

<script>

$(document).ready(function(){

$("#untitle").attr("title","赋值")

})

</script>

希望能帮助你。

如下:

function doSet(){

alert($(document).attr("title"))//获取title值.

$(document).attr("title","修改内容")//修改title值

}

扩展资料:

Jquery常用方法总结:

1、页面元素的引用

通过jquery的$()引用元素包括通过id、class、元素名以及元素的层级关系及dom或者xpath条件等方法,且返回的对象为jquery对象(集合对象),不能直接调用dom定义的方法。

2、jQuery对象与dom对象的转换

只有jquery对象才能使用jquery定义的方法。注意dom对象和jquery对象是有区别的,调用方法时要注意 *** 作的是dom对象还是jquery对象。

普通的dom对象一般可以通过$()转换成jquery对象。

3、获取jQuery集合的某一项

对于获取的元素集合,获取其中的某一项(通过索引指定)可以使用eq或get(n)方法或者索引号获取,要注意,eq返回的是jquery对象,而get(n)和索引返回的是dom元素对象。

对于jquery对象只能使用jquery的方法,而dom对象只能使用dom的方法,如要获取第三个<div>元素的内容。有如下两种方法:

复制代码如下:

$("div").eq(2).html()//调用jquery对象的方法

$("div").get(2).innerHTML//调用dom的方法属性

4、集合处理功能

对于jquery返回的集合内容无需我们自己循环遍历并对每个对象分别做处理,jquery已经为我们提供的很方便的方法进行集合的处理。

包括两种形式:

$("p").each(function(i){this.style.color=['#f00','#0f0','#00f'][i]})

//为索引分别为0,1,2的p元素分别设定不同的字体颜色。

$("tr").each(function(i){this.style.backgroundColor=['#ccc','#fff'][i%2]})

//实现表格的隔行换色效果

$("p").click(function(){alert($(this).html())}) 

//为每个p元素增加了click事件,单击某个p元素则d出其内容

5、扩展我们需要的功能

$.extend({

min: function(a, b){return a <b?a:b},

max: function(a, b){return a >b?a:b}

})//为jquery扩展了min,max两个方法

使用扩展的方法(通过“$.方法名”调用} :

alert("a=10,b=20,max="+$.max(10,20)+",min="+$.min(10,20))

7、支持方法的连写

所谓连写,即可以对一个jquery对象连续调用各种不同的方法。

例如:

$("p").click(function(){alert($(this).html())})

.mouseover(function(){alert('mouse over event')})

.each(function(i){this.style.color=['#f00','#0f0','#00f'][i]})

8、 *** 作元素的样式

主要包括以下几种方式:

$("#msg").css("background")//返回元素的背景颜色

$("#msg").css("background","#ccc") //设定元素背景为灰色

$("#msg").height(300)$("#msg").width("200")//设定宽高

$("#msg").css({ color: "red", background: "blue" })//以名值对的形式设定样式


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存