提问者:小点点

不显示用嵌套列表中的Document.CreateElement生成的子节点


我在主HTML中有一个div。 我想用一个基于一些json响应数据的嵌套列表填充它。

HTML:

<div id=myDiv />

JS:

function responseHandler(response) {

    var myDiv = document.getElementById("myDiv");

    for (var i = 0; i < response.OuterList.length; i++) {

        var outerDiv = document.createElement("div");

        for (var j = 0; j < response.OuterList[i].InnerList.length; j++) {

            var innerLabel = document.createElement("label");
           
            innerLabel.value = InnerList[j].something;

            outerDiv.appendChild(innerLabel);

        }

        myDiv.appendChild(outerDiv); 
    }
}

但是,当javascript执行时,mydiv中不显示任何内容。 我做错了什么? 我试过为外部列表的每个循环添加一个按钮,效果很好。 另外,如果我使用document.createTextElement()将内部标签生成替换为简单文本,它也可以工作并显示。

我还做了一个console.out(myDiv),我可以看到节点填充正确,但是它们没有显示出来。


共1个答案

匿名用户

value属性是窗体控件的一个功能。

元素包括:

  • 不是窗体控件,因此没有属性
  • 设计用于标记窗体控件,而您没有任何窗体控件,因此在此使用的元素是错误的

如果您有一个列表,则使用列表补充(

    1. 元素)。

      通过使用Document.CreateTextNode创建文本节点,然后使用AppendChild将它们追加到元素,向它们添加文本内容。