正在寻找从JSON/对象构建DOM客户端的JS库
Looking for JS library that builds DOM client-side from JSON/object
乍一看,我可能在寻找一个简单的JS模板引擎,但我想要的更复杂。起初,我想过自己把它编码起来,但我想得越多,但我无法想象以前没有这样做过。
简单地说:我正在寻找一种可以接受以下对象文字并构建以下HTML的东西。
{
tagName : 'div',
className : 'container',
children :
[
{
tagName : 'h1',
className : 'page-title',
text : 'My Awesome Page!'
},
{
tagName : 'a',
className : 'class-i-gave-to-this-link',
text : 'Check out my other awesome page!',
attr :
{
href: 'http://my.awesome-page.com/'
}
}
]
}
所需的结果HTML:
<div class="container">
<h1 class="page-title">My Awesome Page!</h1>
<a class="class-i-gave-to-this-link" href="http://my.awesome-page.com/">Check out my other awesome page!</a>
</div>
以下是我对递归解决方案的破解:
var jsonToHtml = function(node) {
var tag = document.createElement(node.tagName);
tag.className = node.className || "";
if(node.text) {
tag.innerHTML = node.text;
}
if(node.children) {
for(var i = 0; i < node.children.length; i++) {
tag.appendChild(jsonToHtml(node.children[i]));
}
}
if(node.attr) {
for(var key in node.attr) {
tag.setAttribute(key, node.attr[key]);
}
}
return tag;
};
这是一个jsFiddle
相关文章:
- 客户端服务器REST API captcha实现
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 如何使用Socket.io将命令从客户端发送到服务器
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- Meteor方法在客户端返回null,在客户端运行的相同方法返回正确的值
- 从客户端获取修改后的对象,并将其与服务器上的原始对象组合
- 如何将我的javascript库公开给其他客户端使用
- 如何根据客户端的屏幕大小使用javascript更改DOM元素
- 正在寻找从JSON/对象构建DOM客户端的JS库
- 有哪些方法可以使客户端更难操作 DOM
- 哪个更快,客户端或服务器端 dom 附加
- 用于在客户端上存储html字符串以供以后插入DOM
- window.sessionStorage.getItem('anyItem')容易受到客户端DOM存储
- 如何在JSP客户端页面上显示基于100K XML的DOM数据
- react dom/server是否在客户端工作
- 从Node.js更新客户端DOM
- dom事件-JavaScript onclick脚本,用于启动带有主题和正文文本的本地邮件客户端
- 使用代码检查器编辑DOM客户端以操纵服务器端行为
- 有没有可能实现一个类似firebug的“inspect”元素?使用客户端JavaScript的DOM元素高亮显示
- 从客户端DOM序列化SVG的最佳方式是什么