Javascript 使用jQuery show()显示隐藏的divs元素在IE7中不起作用
我正在尝试使用JavaScript创建树视图。我有一个动态创建的div列表。正在显示的父节点和将不显示的子节点。当您点击父节点上的按钮时,它将调用show('slow')。这适用于IE8和IE9,但当我用IE7测试它时,子节点将显示它的CSS类。如何使用IE7实现这一点 主页中的代码Javascript 使用jQuery show()显示隐藏的divs元素在IE7中不起作用,javascript,jquery,css,internet-explorer-7,Javascript,Jquery,Css,Internet Explorer 7,我正在尝试使用JavaScript创建树视图。我有一个动态创建的div列表。正在显示的父节点和将不显示的子节点。当您点击父节点上的按钮时,它将调用show('slow')。这适用于IE8和IE9,但当我用IE7测试它时,子节点将显示它的CSS类。如何使用IE7实现这一点 主页中的代码 function CreateEventCategoryDiv(EventCategoryName) { var NewEventCategoryNode = document.create
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 + "\");' /> " + 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);
}
}
此部分位于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可能有问题,但如果没有CSS、HTML和JavaScript代码,则无法判断。谢谢,我没有想到这一点。这是一种简单的解决方案P如果我有足够高的声誉,我会放弃这个。我记得很久以前在ie上遇到这个问题,并且改变了一些东西的背景,这非常令人沮丧,解决方案非常简单,但一点也不明显!
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;
};
.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;
}