首页 > 文章列表 > js中如何递归遍历dom树

js中如何递归遍历dom树

js 递归遍历dom树
428 2022-08-06

本文教程操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。

dom树是什么?

dom是文档对象模型,为文档提供了结构化表示,并定义了如何通过脚本来访问文档结构。

dom是由节点组成的,HTML加载完毕,渲染引擎会在内存中把HTML文档,生成一个DOM树。

使用递归遍历dom树:判断传入的数据是否是数组遍历跟节点

function getTree2(data, id) {
    // 判断传入的数据是否是数组
    if (Object.prototype.toString.call(data) !== '[object Array]') return
    const root = data.filter(item => item.pid === id)
    const list = []
        // 遍历跟节点
    root.forEach(item => {
        const obj = {...item,children: getTree2(data, item.id) } // 递归方法,自己调用自己
        list.push(obj)
    })
    return list
}
console.log(getTree2(data, 0))