zoukankan      html  css  js  c++  java
  • createElement

    templet = {
                type:"div",
                attr:{ id:"div2"},
                classList:["2"],
                children:[
                    {
                        type:"span",
                        attr:{ id:"text1", value:"is text"},
                        classList:["1"],
                        id:"span1",
                        events:{},
                        children:[
                            {
                                type:"span",
                                attr:{ id:"son1", value:"is son1"},
                                classList:["1"],
                                id:"son1",
                                events:{},
                            }
                        ]
                    },
                    {
                        type:"p",
                        attr:{ id:"p1", value:"is p"},
                        classList:["1"],
                        id:"p1",
                        events:{},
                        children:[
                            {
                                type:"p",
                                attr:{ id:"p2", value:"is son2"},
                                classList:["1"],
                                id:"son2",
                                events:{},
                            }
                        ]
                    },
                ],
                id:"div2",
                events:{}
            }
            function createDOM(obj){
                const {type,attr,children,id} = obj
                let root = document.createElement(type)
                console.log(root)
                if(attr){
                    let key = Object.keys(attr)
                    key.forEach(item => {
                        if(item !== 'value'){
                            root.setAttribute(item,attr[item])
                        }else if(item === 'value'){
                            root.innerText = attr[item]
                        }
                    });
                }
                if(children){
                    let child = Object.values(children)
                    for(let i=0;i<child.length;i++){
                        let c = createDOM(child[i])
                        root.appendChild(c)
                    }
                    return root
                }else{
                    return root
                }
            }
            let c = createDOM(templet)
            console.log(c)
            document.body.appendChild(c)
  • 相关阅读:
    POJ1470 Closest Common Ancestors(LCA入门)
    POJ1330 Nearest Common Ancestors(倍增LCA算法求无边权树的模板)
    HDU3078 Network (倍增LCA算法求树链)
    HDU2874 Connections between cities(并查集+倍增LCA算法求森林最短路)
    HDU2586 How far away?(倍增LCA算法求带边权树上最短路)
    POJ1062 昂贵的聘礼
    HDU4725 The Shortest Path in Nya Graph(堆优化的dijkstra算法)
    数据仓库详解:包括概念、架构及设计
    利用行为标签构建用户画像
    Spark SQL深度理解篇:模块实现、代码结构及执行流程总览(2)
  • 原文地址:https://www.cnblogs.com/MDGE/p/14349075.html
Copyright © 2011-2022 走看看