gpt4 book ai didi

javascript - 当存在节点图标时,ASP.Net TreeView 全部展开/折叠不起作用

转载 作者:行者123 更新时间:2023-11-28 02:59:10 25 4
gpt4 key购买 nike

我使用以下 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 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;
}

问题是,当我有 NodeStyle-ImageUrl="img/FolderSmall.gif" 时,打开第一个子节点后扩展失败 - 仅当存在节点图像时。 p>

JS错误是childContainer为null:

                    if (childContainer.style.display == displayState) {
eval(currentToggleLink.href);

我确信其他人也遇到过这种情况,但我找到的所有展开/折叠代码都在同一点失败。

最佳答案

这确实是很久以前的事了,但如果我没记错的话,我只是包含了一个 1px 图像占位符,以便在任何调用时都不会返回 null。

关于javascript - 当存在节点图标时,ASP.Net TreeView 全部展开/折叠不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1639258/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com