关于js节点的说明

刚刚解决了一个小问题,就迫不及待的将解决办法发给大家。

我写的博客基本上都是自己在开发的时候解决的问题。

今天的问题可能技术含量并不是很高,但是花了我很长时间,因为我对js节点不是很熟。记录下来一是为了和大家分享,二是更好的认识问题。

 

问题描述:有一个js树形菜单,右键单击节点弹出操作菜单。要解决的是只有在根节点上“新建”菜单才生效,其他节点“新建”菜单无效。预期效果如下

解决办法: 在控制新建菜单的JS代码片段中加入红色字体的代码片:

 

create : {

label : "新建", 

icon : "create",

visible : function (NODE, TREE_OBJ) { 

if(NODE[0].parentNode.childNodes.length > 1){return false;}

if(null != NODE && NODE.length != 1) {return 0;} 

return TREE_OBJ.check("creatable", NODE); }, 

action : function (NODE, TREE_OBJ) { TREE_OBJ.create(false, TREE_OBJ.get_node(NODE[0])); },

separator_after : true

}

 

上面红色代码解释:

 

获取当前节点的父节点的子节点的总个数。也就是说,如果当前节点是根节点那么它就没有根节点,也就没有所谓的子节点总数。(但是有一点问题,经过js调试发现,在当前是根节点时,显示的长度是1.我的理解是null.还有一个疑问,怎么在博客上贴上图片。)

反之,如果当前节点不是根节点,那么获取它的根节点的子节点个数就是当前树形菜单根节点的子节点的总数。

前面的一点疑问,直接导致了在这段代码片的一个小BUG,当根节点只有一个子节点,也就是说当前树形菜单只有两个节点的时候,程序无效。因为这两个节点获取的总数都是1.

 

好了,问题阐述结束。

现在博客上还有些文章没有补全的,一是因为没有找到好的额解决办法,二是自己确实很懒,我觉得程序懒应该可以理解吧,呵呵。之后会陆续的发一些自己的开发经验。

 

在这里小小的打个广告,我是程序员,有两年开发经验,对程序和IT比较热爱。希望能结识志同道合的同志,特别是女同志。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值