2011-02-14 65 views
0

我正在尝试使用JavaScript制作一个树形视图。我有一个动态创建的Div的列表。正在显示的父节点和不会显示的子节点。当你点击父节点上的按钮时,它会调用show('slow')。这适用于IE8和IE9,但是当我用IE7测试它时,子节点将显示出它的CSS类。我怎样才能使这项工作与IE7?显示使用jQuery show()在IE7中不工作隐藏的div元素

代码在主页

function CreateEventCategoryDiv(EventCategoryName) { 
      var NewEventCategoryNode = document.createElement('div'); 
      NewEventCategoryNode.id = EventCategoryName + "Node"; 
      if (TreeNodeCounter == 0 || (TreeNodeCounter % 2) == 0) { 
       NewEventCategoryNode.className = "EventCategoryNodesEven"; 
      } 
      else { 
       NewEventCategoryNode.className = "EventCategoryNodesOdd"; 
      } 
      NewEventCategoryNode.innerHTML = "<input type='button' value='+' id='ExpandButton' class='ExpandNodeButtons' onclick='ExpandNode(\"" + EventCategoryName + "\");' />&nbsp;" + EventCategoryName; 
      var EventTree = document.getElementById("EventTree"); 
      EventTree.appendChild(NewEventCategoryNode); 
      TreeNodeCounter++; 
     } 

    function ExpandNode(PassedNode) { 
       var ParentNode = CalendarObject.SearchCategoryNode(PassedNode); 
       if (ParentNode.IsChildrenShowing == false) { 
        ParentNode.ExpandNodes(CalendarObject.Months); 
       } 
       else if (ParentNode.IsChildrenShowing == true) { 
        ParentNode.CollapseNode(CalendarObject.Months); 
       } 
      } 

这部分被称为在EventCategory类添加子节点(对不起,我忘了这一个在第一个)

this.AddEventType = function (EventTypeNode) { 
     var NewElement = document.createElement('Div'); 
     NewElement.id = EventTypeNode.DivAssociateId; 
     NewElement.innerText = EventTypeNode.Name; 
     if (this.NodesCount == 0 || (this.NodesCount % 2) == 0) { 
      NewElement.setAttribute("class", "EventTypeNodesEven"); 
     } 
     else { 
      NewElement.setAttribute("class", "EventTypeNodesOdd"); 
     } 
     NodesCount = this.EventTypeNodesArray.push(EventTypeNode); 
     $(NewElement).hide(); 
     var ParentElement = document.getElementById("EventTree"); 
     ParentElement.appendChild(NewElement); 
     this.NodesCount++; 
    }; 

这部分是在CalendarGrid类

this.ExpandNodes = function (MonthArray) { 
     for (var x in this.EventTypeNodesArray) { 
      var SelectedNode = document.getElementById(this.EventTypeNodesArray[x].DivAssociateId); 
      if (this.IsChildrenShowing == false) { 
       $(SelectedNode).show('slow'); 
       for (var y = 0; y < MonthArray.length; y++) { 
        var SelectedRow = document.getElementById(this.EventTypeNodesArray[x].Name + MonthArray[y].MonthName + "Row"); 
        $(SelectedRow).show('slow'); 
       } 
      } 
     } 
     this.IsChildrenShowing = true; 
    }; 

CSS代码:

.EventTypeNodesOdd 
{ 
    font-family:Arial; 
    font-weight:bold; 
    text-align:center; 
    height:27px; 
    background-color:#dbe2e6; 
    display:block; 
} 

.EventTypeNodesEven 
{ 
    font-family:Arial; 
    font-weight:bold; 
    text-align:center; 
    height:27px; 
    background-color:#f9fafb; 
} 
+0

请张贴一些代码。 – 2011-02-14 16:30:04

+1

我认为这可能是你的CSS的问题,但没有办法告诉没有CSS,HTML和JavaScript代码 – 2011-02-14 16:35:09

回答

1

尝试将类设置为显示它之后的任何内容。