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'
})
模拟Vue挂载VDOM
最新推荐文章于 2024-04-25 09:13:24 发布