我正在使用dijit/Tree处理基于一个大的分层JSON字符串的数据。到目前为止,它的工作效果很好。即使CSS的样式看起来也不错,但是现在我必须只为顶层元素更改样式。什么是只选择这些条目的最好方法?就我所见,现在有显式的类可以为它们提供。有人有主意吗?谨向马库斯致意
wb1gzix01#
与此同时我找到了解决办法。您必须实现树的onOpen函数,并向最近打开的节点的所有子节点添加一个CSS类:
var tree = new dijit.Tree({ model: treeModel, id: "navTree", showRoot: false, autoExpand: false, onOpen: function(item, node){ var subNodeList = node.getChildren(); addMyClasses(subNodeList,(node.indent+1)); }, openOnClick: false } function addMyClasses(nodeList,level){ nodeList.forEach(function(entry){ entry.labelNode.className += " treeNavLevel"+level; }); }
在我的例子中,我为树的每一层添加了一个不同的CSS类。
1条答案
按热度按时间wb1gzix01#
与此同时我找到了解决办法。
您必须实现树的onOpen函数,并向最近打开的节点的所有子节点添加一个CSS类:
在我的例子中,我为树的每一层添加了一个不同的CSS类。