刚接触jquery不久,现遇到一个问题,描述如下
有树型结构
01
--0101
----010101
----010102
++0102
++++010201
++++010202
02
--0201
--0202
03
++0301
++++030301
++++030302
如上所示,我需要知道的是0102,010201,010202,0301,030301,030302这六个节点处于收缩状态。请大家帮忙,十分感谢!

解决方案 »

  1.   

    我是这样做的
    var hideLength = 0;
    $(this).treegrid('select',node.target);
    var nodes = $('#test').treegrid('getChildren', node.task);
    for(var i=0; i<nodes.length; i++){
        if (nodes[i].state == "open"){
    //说明一下,getChildren方法是获得所有的子节点,所以我先收缩子节点(0102),再收缩根节点(01)的时候,为防止重复计数,对state做了一个判断,如果子节点(0102)已经处于收缩状态则不再重复计数。
            nodes[i].state = "closed";
            hideLength++;
        }
    }