我现在做了个树形目录,无刷新的,所以后台的一些属性已经禁用了,我选了某个节点的时候,想改变该节点的字颜色,这个我已经做到了 var objNode =window.event.srcElement;
 objNode.style.color="blue";这样带来一个后果就是只要点过就统统变成蓝色了,其实我想要点击该节点后,其他节点颜色全变成正常显示的黑色,只有该节点变成蓝色,这就涉及到点击该节点时要做两件事,第一将所有节点样式为黑色,然后再单独设置点击节点的样式为蓝色。
树形目录的节点翻译成html都是<a>,所以我再js里面为所有标签<a>添加样式属性,从而达到我的目的!
提示:<a>没有固定的id和name!
怎么做

解决方案 »

  1.   

    保存一下之前的节点比如 
    var cur;
    function doclick(){
      var objNode =window.event.srcElement;
      if(cur == objNode) return false;
      if(cur !=null) cur.style.color="black";
      objNode.style.color="blue";
      cur = objNode;
    }
      

  2.   

    用一个变量保存上次点击的那个节点
    比如:
    var lastNode = null;点击后改变颜色:
    var objNode =window.event.srcElement;
    objNode.style.color="blue";
    if(lastNode!=null){
    lastNode.style.color="white";
    }
    lastNode=objNode;