手写题目3:算出一个dom里面所有元素的节点数

算出一个dom里面所有元素的节点数

start

获取一个dom元素内的所有节点数。

代码

//  递归函数
function countNodes(node) {
  //  计算自身
  var count = 1;
  //  判断是否存在子节点
  if (node.hasChildNodes()) {
    //  获取子节点
    var cnodes = node.childNodes;
    //  对子节点进行递归统计
    for (var i = 0; i < cnodes.length; i++) {
      count = count + countNodes(cnodes.item(i))
    }
  }
  return count;
}

//  统计body的节点数量
countNodes(document.body)

递归查询

你可能感兴趣的:(javascript,js手写题目,前端,javascript,html)