写了个TreeView的父子联动的JS,执行的时候,到最顶端JS仍然不能判空,往下就报错 tagName tagname is null or not an object ,改如何修改? function OnTreeNodeChecked()
   {
      var ele = event.srcElement;
    if(ele.type=='checkbox')
    {
        var childrenDivID = ele.id.replace('CheckBox','Nodes');
        var div = document.getElementById(childrenDivID);
        if(div != null)
        {
            var checkBoxs = div.getElementsByTagName('INPUT');
            for(var i=0;i<checkBoxs.length;i++)
            {
                if(checkBoxs[i].type=='checkbox')
                {
                    checkBoxs[i].checked=ele.checked;           
           checkBoxs[i].indeterminate = false;                 }
            }
        }
         GetParentByTagName(ele,'DIV',ele.checked);
        
    }  
     
   }    
                
  function GetParentByTagName(element, tagName,NodeState)
          {
            var parent = element.parentNode;
            if (parent ==null)  // 当是空的时候,并不能正确判断
             return;
            var upperTagName = tagName.toUpperCase();
            {
            while (parent && (parent.tagName.toUpperCase() != upperTagName))   //导致这里出现 tagName tagname is null or not an object 错误 为什么会有这种情况发生呢            {
              parent = parent.parentNode ? parent.parentNode : parent.parentElement;
            }
            }
           var checkBoxs = parent.getElementsByTagName('INPUT');
           var parentCheckBoxID = parent.id.replace('Nodes','CheckBox');
           var parentCheckBox = document.getElementById(parentCheckBoxID);
            for(var i=0;i<checkBoxs.length;i++)
            {
                if(checkBoxs[i].type=='checkbox')
                {
                    parentCheckBox.checked = NodeState;
                }
            }
            GetParentByTagName(parentCheckBox,'DIV',NodeState);
            
          }