json中加入html代码,js根据json动态生成html代码

介绍:

方便动态插入html代码,根据json生成html代码,代码如下。

代码:

html部分

js部分var jsonToHtml = {}

jsonToHtml.css = function (css) {

var style = document.createElement('style');

style.type = 'text/css';

style.rel = 'stylesheet';

try {

style.appendChild(document.createTextNode(css));

} catch (ex) {

style.styleSheet.cssText = css;

}

document.querySelector('head').appendChild(style);

}

jsonToHtml.html = function (el, arr) {

var keys = ["childs", "element"];

arr.forEach(item => {

var element = document.createElement(item.element);

for (let key in item) {

if (keys.indexOf(key) == -1) {

element[key] = item[key];

}

}

if (item.childs) {

this.html(element, item.childs)

}

el.appendChild(element);

});

}

实例var data = [{

element: "h1",

className: "title",

innerText: "创建div"

},

{

element: "div",

id: "wrap",

className: "wrap",

childs: [{

element: "ul",

childs: [{

element: "li",

className: "wrap-li",

innerText: "文本",

childs: [{

element: "input",

type: "checkbox",

checked: true,

disabled: true

}]

}, {

element: "li",

className: "wrap-li",

childs: [{

element: "input",

type: "text",

placeholder: "haha"

}]

}]

}]

}

]

var el = document.querySelector("#app");

jsonToHtml.html(el, data);

jsonToHtml.css('body{background:#ccc}');

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值