我的树是这样的选是用.net服务器端初始化,也就是在服务器端生成.同时根据传入值,来选中相应的项,比如要进行权限操作.例如选中或取消某一项,返回时我是用js来获取刚才选中的那些项 
现在的问题是这样的: 
1>在服务器端初始时,且把相应的项进行选中后在客户端把它取消了,也就是把树项前面的钩去掉,表面钩是去掉了,但在用js获取选中项时,这个项依然是被选中状态 
我的代码: 
获取选中项函数: 
function getValue(node) 

    var ChildNode = new Array(); 
   
    ChildNode= node.getChildren(); 
     
    if (parseInt(ChildNode.length)!=0) 
    { 
    
        for (var i = 0; i  < ChildNode.length; i++) 
        { 
            var cNode = ChildNode[i]; 
             
            if (cNode.getAttribute("checked") == true) 
            { 
               ched_va += cNode.getAttribute("ID")+","; 
               ched_te += cNode.getAttribute("Text")+","; 
            } 
            if (parseInt(cNode.getChildren().length) != 0) 
                getValue(cNode); 
             
        } 
    } 
    else 
    { 
      if (node==null) return; 
      if (node.getAttribute("checked") == true) 
      { 
         ched_va += cNode.getAttribute("ID")+","; 
         ched_te += cNode.getAttribute("Text")+","; 
      } 
       
    } 

------------------------ 
执行函数: 
function gb() 

var kj=" <%=TreeView1.ClientID.ToString()%>"; 
var ChildNode=new Array(); ChildNode=document.getElementById(kj).getChildren(); 
ched_va=""; 
ched_te=""; 
for (var i=0;i <ChildNode.length;i++) 

   getValue(ChildNode[i]); 

if (ched_va!="") 

 ched_va=ched_va.substring(0,ched_va.length-1); 
 ched_te=ched_te.substring(0,ched_te.length-1); 

alert(ched_te+" ¦ ¦"+ched_va) window.returnValue=ched_va+"^"+ched_te; 
window.close(); 

---------------------------------- 
2>当树为第一项也就是根节点时发现就算选中它,在js里还是获取不到它,这是什么原因 
谢谢各位老大帮帮忙,郁闷了好长时间