【问题标题】:problem in adding anchor to the list dynamically using javascript使用javascript动态添加锚点到列表的问题
【发布时间】:2011-06-18 19:16:31
【问题描述】:

我正在使用 javascript 从 JSON 对象动态创建一个无序列表。

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 中需要进行哪些更改才能将锚点动态添加到列表中?

动态地从&lt;li&gt; File &lt;/li&gt;&lt;li&gt; &lt;a href="yahoo.com"&gt; File &lt;/a&gt; &lt;li&gt;

【问题讨论】:

    标签: javascript html json dom


    【解决方案1】:

    li.appendChild(text); 行中的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 );
            ...
    

    您的网址存储在哪里? (如果您将硬编码的 url 存储在某个地方,您可以更新上面的代码,用您的实际值替换它。)

    【讨论】:

      猜你喜欢
      • 2021-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-20
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      相关资源
      最近更新 更多