题解 | #dom节点转成json数据#

dom节点转成json数据

http://www.nowcoder.com/practice/0340a0c6d11d4aadba0aef86e6ae723f

function dom2json() {
    const A = document.querySelector('#jsContainer')
    return convert(A)

}

function convert(dom) {
    let obj = {}
    if (dom.nodeType === 3) {
        if (!dom.textContent.trim()) return
        obj.content = dom.nodeValue.trim()
        obj.tag = 'text'
    } else {
        obj.tag = dom.tagName.toLowerCase()
        obj.attributes = {}
        obj.children = []
        Array.from(dom.attributes).map((attr) => {
            obj.attributes[attr.name] = attr.value
        })
        dom.childNodes.forEach(item => {
            if (!convert(item)) return
            obj.children.push(convert(item))
        })
    }
    return obj
}
全部评论

相关推荐

昨天 19:25
门头沟学院 Java
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-04 18:25
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务