在嵌套列表中使用 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(,我可以看到节点被正确填充,但它们只是没有显示。

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

<label>元素包括:

  • 不是窗体控件,因此没有value属性
  • 旨在标记表单控件,您没有任何控件,因此无论如何在这里使用错误的元素

如果您有列表,请使用列表构成(<ul><ol><li>元素(。

通过使用document.createTextNode创建文本节点,然后使用appendChild将它们附加到元素中,向它们添加文本内容。

最新更新