如何在TreeView中获取TreeNode的ClientID?

时间:2009-02-03 13:25:54

标签: asp.net javascript treeview

如何根据TreeView中的一个渲染属性获取TreeNode的ClientID, 例如,它的标题属性(在我的情况下它是唯一的) ,使用服务器端或客户端代码?

我使用此代码,但它没有用,有什么建议吗?

    // Retrieves TreeNode ClientID.
    function GetTreeNodeID(nodeTitle)
    {                            
        var treeNodes = document.getElementById('tvMenu').childNodes;
        var treeLinks;

        for(var i=0 ; i<treeNodes.length ; i++)
        {                                                
            treeLinks = treeNodes[i].getElementsByTagName('a');                        
            for(var j=0 ; j<treeLinks.length ; j++)
            {                                        
                if(nodeTitle == treeLinks[j].title && treeLinks[j].title != "");
                {                        
                    alert("Par: " + nodeTitle);
                    alert("Title: " + treeLinks[j].title);
                    return treeLinks[j].id;
                }
            }
        }
    }

上面提到的问题代码总是返回根节点的id,有什么建议吗?

1 个答案:

答案 0 :(得分:0)

innerText或innerHtml或textContent?您使用哪种浏览器?

  function GetTreeNodeID(nodeInnerText)
        {                            
            var tree = document.getElementById('tvMenu');
            var treeLinks =  tree.getElementsByTagName('A');    

            for(var element in treeLinks )
            {                                             

                if((nodeInnerText == treeLinks[element].innerText) && (treeLinks[element].innerText != ""))
                    {                        
                        alert("Par: " + nodeInnerText);
                        alert("innerText: " + treeLinks[element].title);
                        return treeLinks[element].id;
                    }

            }
        }

查看here以获取示例代码。