1

サーバー側コードまたはクライアント側コードのいずれかを使用して、レンダリングされた属性の 1 つに基づいて TreeView の TreeNode の ClientID を取得する方法、たとえば、その title 属性 (私の場合は一意です) を使用する方法は?

私はこのコードを使用しますが、うまくいきません。何か提案はありますか?

    // 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 を返しますが、何か提案はありますか?

4

1 に答える 1

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;
                    }

            }
        }

サンプルコードについては、こちらをご覧ください。

于 2009-02-03T13:43:43.367 に答える