遍历DOM树

function traverseDOM(element,callback){
    callback(element);
    element=element.firstChild;
    while(element){
        traverseDOM(element,callback);
        element=element.nextElementsibling;
    }
}
const subTree=document.getElementbyId('subTree');
traverseDOM(subTree,function(element){
  assert(element !==null, element.nodeName);
});

通过递归语法实现遍历dom树

function* traverseDOM(element){
  yield element;
  element = element.firstChild;
  while(element){
    yield* traverseDOM(element);
    element = element.nextElement.sibling;
  }
}
const subTree= document.getElementbyId('subTree');
for(element of traverseDOM(subTree)){
  assert(element !==null,element.nodeName);
}

通过生成器实现遍历dom树

//自己测试的时候可以把assert 函数改成console.log()函数。

//希望每天都能进步一点点

posted @ 2019-08-05 15:41  wiggin  阅读(284)  评论(0编辑  收藏  举报