题解 | #虚拟DOM#

虚拟DOM

https://www.nowcoder.com/practice/a283d2c284ed49468c3b0f6ec0312b0f

const _createElm = vnode => {

            // 补全代码

            function createElm(vnode) {

                let result =

                    `<${vnode.tag} ${Object.keys(vnode.props).length ? 'class=' + vnode.props.class : ''}>${vnode.text}${vnode.children.length ? vnode.children.map(item => createElm(item)).join('') : ''}</${vnode.tag}>`

                return result

            }

            const newResult = createElm(vnode)

            const parser = new DOMParser();

            // 使用 DOMParser 解析字符串并创建 Document 对象

            const doc = parser.parseFromString(newResult, 'text/html');

            // 从 Document 对象中获取解析后的 DOM 元素

            const ulElement = doc.querySelector('ul');

            return ulElement

        }

// 递归吧,递归到我自己都傻了

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 20:50
点赞 评论 收藏
分享
去B座二楼砸水泥地:不过也可以理解,这种应该没参加过秋招
点赞 评论 收藏
分享
自来熟的放鸽子能手面试中:绷不住了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务