模拟Vue挂载VDOM

function DOMrender(oldVal, newVal, textVal, attrVal) {
    let oldDom = document.querySelectorAll(oldVal)
    for(let oneOldDom of oldDom){
        let newDom = document.createElement(newVal);  //创建新元素节点
        let text = document.createTextNode(textVal); //创建文本节点
        newDom.appendChild(text); //把创建的文本节点追加到元素节点中
        for (let i in attrVal) {
            let attr = document.createAttribute(i); //创建属性节点
            attr.value = attrVal[i]; //给属性节点设置值
            newDom.setAttributeNode(attr); //给元素设置属性节点
        }
        oneOldDom.parentNode.insertBefore(newDom, oneOldDom);
        oneOldDom.remove();
    }
}
    
DOMrender('#app', 'div', '王大锤', {
    class: 'aaa',
    height: '1000px',
    style: 'color:red'
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值