2009-02-03 7 views
1

렌더링 된 속성 중 하나 (예 : )를 기반으로 TreeView에서 TreeNode의 ClientID를 얻는 방법, 서버 이름 또는 클라이언트 측 코드를 사용하여 제목 속성 (내 경우 고유) 을 사용 하시겠습니까?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, 어떤 제안을 반환?

답변

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입니다.

+0

브라우저 : IE 또는 Firefox. 코드 관련 : 다음 오류가 있습니다 "treeNodes [요소] .getElementsByTagName은 함수가 아닙니다"? – Ahmed

+0

죄송합니다. 코드를 변경했습니다. – belaz

+0

좋아요, 제대로 작동합니다. 감사. – Ahmed

관련 문제