节点搜索

xiaoshi890724 2012-08-31 04:32:44
我的整体是个手风琴布局和panel组件,手风琴节点下面是个树,现在我要在panel的头上设置个搜索所有树节点的功能..该如何实现..求解释...
...全文
99 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
泡泡鱼_ 2012-09-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
该问题不是第一次回答了,直接上函数,用的人都说好

function getNodes(node,NodeArr,isOnlyLeaf)///函数功能为返回参数1(ext tree节点对象)下的所有节点对象数组,参数1-tree节点,2-调用时直接传null,3-传true表示只要叶节点,false表示都要
{
var nodeArr;
if(!NodeArr) nodeAr……
[/Quote]

下次记得放到代码块里面,这么看着累人。哈哈
未知数 2012-09-02
  • 打赏
  • 举报
回复
该问题不是第一次回答了,直接上函数,用的人都说好

function getNodes(node,NodeArr,isOnlyLeaf)///函数功能为返回参数1(ext tree节点对象)下的所有节点对象数组,参数1-tree节点,2-调用时直接传null,3-传true表示只要叶节点,false表示都要
{
var nodeArr;
if(!NodeArr) nodeArr =new Array();//没有传递第二个参数时初始为新数组
else nodeArr=NodeArr;
if(node.leaf || !isOnlyLeaf) nodeArr.push(node);//如果是叶节点,加入数组
if(!node.childNodes || node.childNodes.length==0) return nodeArr;//没有子节点,返回
for(var i=0;i<=node.childNodes.length-1;i++)
{
getNodes(node.childNodes[i],nodeArr,isOnlyLeaf);//对每一个子节点进行递归调用将其中的叶节点添加到数组
}
return nodeArr;//函数执行完成,返回数组
}

这样调用
var allLeafArr=getNodes(root,null,true);//root是tree根节点
泡泡鱼_ 2012-09-01
  • 打赏
  • 举报
回复
最常用的遍历了。

贴下你的代码出来再说了

87,991

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧