Json到html ul列表.纯javascript
Json to html ul list. Pure javascript
如何将json响应转换为html ul
列表?
{
"subject": [
"The subject field is required."
],
"message": [
"The message field is required."
]
}
到这个
<ul>
<li>The subject field is required</li>
<li>The message field is required</li>
</ul>
并在某些div 中显示
<div id="errors"></div>
试试这个:
var parent = document.createElement("ul");
document.body.appendChild(parent);
var obj = {
"subject": [
"The subject field is required."
],
"message": [
"The message field is required."
]
}
var keys = Object.keys(obj);
for(var i = 0; i < keys.length; i++) {
var child = document.createElement("li");
child.innerHTML = obj[keys[i]][0];
parent.appendChild(child);
}
有很多方法,但对我来说最直观的是将HTML构建为字符串,然后使用element.innerHTML属性将HTML字符串注入div元素中
要构建HTML,请执行类似的操作
var theHTMLString = "<ul>";
for(var propertyName in myObject) {
theHTMLString += "<li>" + myObject[propertyName] + "</li>";
}
theHTMLString += "</ul>";
注意:如果JSON响应可能包含HTML,例如:
</li>
那么以上内容将创建格式错误的HTML,因此您可能需要探索HTML编码:
http://jsfiddle.net/thinkingstiff/fsau2/
或者,您可能希望使用.createElement((函数和innerText而不是innerHTML以避免编码问题。
一旦你完成了这项工作,你就需要将div作为一个JS对象来访问,这样你就可以用它做一些事情。最简单的方法是:
var theDiv = document.getElementById( "errors" );
现在,我们已经为对象和我们想要注入到其中的HTML,只需使用将HTML添加到div…
theDIV.innerHTML = theHTMLString;
相关文章:
- IE8/Javascript冲突?IE8正在开发中冻结整个站点-包括Javascript列表
- Javascript列表/牛排
- JavaScript:列表项中的导航栏下拉菜单
- Javascript 列表说明
- 带有计算器的Javascript列表不起作用
- 如何获取我的页面上使用的外部 JavaScript 列表
- 如何在Javascript列表中设置对象创建的限制
- Google 放置 HTML/Javascript 列表
- JavaScript列表键和鼠标事件挂钩
- 地图的Javascript列表's键
- javascript列表操作库/框架
- 正在尝试使用Javascript列表并查找文件
- 如何提取带有数组属性的javascript列表
- 如何获得月javascript列表
- Eloquent Javascript列表返回undefined,Why
- 选择JavaScript列表更新
- 为什么JavaScript列表中的多个小数会在元素list'后抛出'错误
- JavaScript列表操作是同步的吗?
- 谷歌驱动器api, javascript列表文件返回什么
- Javascript列表对象可以'不添加JSON?node . js,重火力点