【问题标题】:Building UL with javascript only creates 1 li element使用 javascript 构建 UL 仅创建 1 li 元素
【发布时间】:2020-05-23 12:23:07
【问题描述】:

我正在尝试使用 javascript 创建一个列表。 但是我的 p 标签只会取我定义的最后一个 p 标签的值。

这是我的代码https://jsfiddle.net/1Lt76jw2/ 我尝试在我的 p 标签之间添加lu.appendChild(li);,但这也不起作用。

假设的输出应该是

测试123

Test456

Test789

每个测试都在一个 p 标签上

【问题讨论】:

    标签: javascript html html-lists innerhtml


    【解决方案1】:

    您应该为每个单独的元素创建新的 pli 元素:

    myUL = document.getElementById("myUL");
    var ul = document.createElement('ul');
    var li = document.createElement('li');
    var p = document.createElement('p');
    
    p.innerHTML = "Test123";
    li.appendChild(p);
    ul.appendChild(li);
    
    p = document.createElement('p');
    p.innerHTML = "Test456";
    li = document.createElement('li');
    li.appendChild(p);
    ul.appendChild(li);
    
    
    p = document.createElement('p');
    p.innerHTML = "Test789";
    li = document.createElement('li');
    li.appendChild(p);
    ul.appendChild(li);
    
    myUL.appendChild(ul);
    <div id="myUL">
    
    </div>

    【讨论】:

      【解决方案2】:

      您只创建一个p 元素并将所有值分配给它的innerHTML。每一个都会覆盖前一个。 函数appendChild 不会复制元素,它会附加您最初创建的元素。

      【讨论】:

        猜你喜欢
        • 2022-12-05
        • 2014-03-25
        • 1970-01-01
        • 1970-01-01
        • 2022-09-27
        • 1970-01-01
        • 2012-08-12
        • 2011-06-10
        • 1970-01-01
        相关资源
        最近更新 更多