我的主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
将它们附加到元素中,向它们添加文本内容。