Javascript 当存在节点图标时,ASP.Net TreeView“全部展开/折叠”不起作用
我使用了以下js代码来展开/折叠ASP.Net TreeView控件的所有节点:Javascript 当存在节点图标时,ASP.Net TreeView“全部展开/折叠”不起作用,javascript,treeview,expand,collapse,Javascript,Treeview,Expand,Collapse,我使用了以下js代码来展开/折叠ASP.Net TreeView控件的所有节点: // handle tree - this doesn't seem to work when the tree contains node images function TreeviewExpandCollapseAll(treeViewId, expandAll) { var displayState = (expandAll == true ? "none" : "block"); var
// handle tree - this doesn't seem to work when the tree contains node images
function TreeviewExpandCollapseAll(treeViewId, expandAll) {
var displayState = (expandAll == true ? "none" : "block");
var treeView = document.getElementById(treeViewId);
if (treeView) {
var treeLinks = treeView.getElementsByTagName("a");
var nodeCount = treeLinks.length;
alert(nodeCount);
for (i = 0; i < nodeCount; i++) {
if (treeLinks[i].firstChild.tagName) {
if (treeLinks[i].firstChild.tagName.toLowerCase() == "img") {
var currentToggleLink = treeLinks[i];
var childContainer = GetParentByTagName("table", currentToggleLink).nextSibling;
if (childContainer.style.display == displayState) {
eval(currentToggleLink.href);
}
}
}
} //for loop ends
}
}
//utility function to get the container of an element by tagname
function GetParentByTagName(parentTagName, childElementObj) {
var parent = childElementObj.parentNode;
while (parent.tagName.toLowerCase() != parentTagName.toLowerCase()) {
parent = parent.parentNode;
}
return parent;
}
我确信其他人也遇到过这种情况,但我找到的所有展开/折叠代码都在同一点上失败。这确实是很久以前的事了,但如果我回忆正确,我只是添加了一个1px图像占位符,以便在任何调用中都不返回null。这确实是很久以前的事了,但如果我回忆正确,我只是加入了一个1px图像占位符,以便在任何通话中都不返回null
if (childContainer.style.display == displayState) {
eval(currentToggleLink.href);