2011-06-18 45 views
0

正在從JSON對象動態創建使用JavaScript的無序列表。使用javascript動態添加錨到列表中的問題

function renderList(branches) { 
    var ul = document.createElement("ul"); 
    for (var i=0, n=branches.length; i<n; i++) { 
     var branch = branches[i]; 
     var li = document.createElement("li"); 
       var text = document.createTextNode(branch.name); 
       li.appendChild(text); 
     if (branch.branches) { 
      li.appendChild(renderList(branch.branches)); 
     } 
     ul.appendChild(li); 
    }  
    return ul; 
} 

function renderTree() 
    { 
    var treeRoot = document.getElementById("tree"); 
    var treeObj = {"root": 
      [{ 
        "name": "File", 
        "branches":[ 
       {"name": "New"}, 
          {"name": "Save"}, 
          {"name": "Exit"} 
           ] 
       }] 
      }; 
    treeRoot.appendChild(renderList(treeObj.root)); 
} 

什麼是JSON & javascript來錨添加到動態列表中所需的改變?

動態地從<li> File </li><li> <a href="yahoo.com"> File </a> <li>

回答

2

替換行textli.appendChild(text);與錨節點:

function renderList(branches) { 
    var ul = document.createElement("ul"); 
    for (var i=0, n=branches.length; i<n; i++) { 
     var branch = branches[i]; 
     var li = document.createElement("li"); 
     var text = document.createTextNode(branch.name); 

     // new code here 
     var a = document.createElement("a"); 
     a.setAttribute('href', 'http://yahoo.com') 
     a.appendChild(text); 
     // 

     li.appendChild(a); 
     ... 

在哪裏存儲在您的網址嗎? (您可以更新上面的代碼,以將硬編碼的網址替換爲實際值,如果您將它存儲在某處)。

相關問題