扫描真实DOM树
//简单的节点类
class node {
constructor(elem){
this.tagName=elem.tagName;
this.data = elem.dataset;
this.id = elem.id;
this.className = elem.className;
this.parentNode = elem.parentNode;
}
addChildren(node){
this.children = node;
}
addNextElementSibling(node){
if(this.NextSibling == undefined){
this.NextSibling = node;
}else{
this.NextSibling.addNextElementSibling(node);
}
}
}
//节点树
export default class tree{
//构造根节点
constructor({
elem
}){
elem = document.querySelector(elem);
this.node = new node(elem);
this.addChildren(elem , this.node);
}
//构造时调用用以添加该节点的子节点
addChildren(VNode , pnode){
let next;
for(let key of VNode.children){
next= new node(key);
//链表构建树链接
//如果第一个子类是空