页面上存在id=jsContainer的节点A,系统会随机在节点A中生成文档片段,请按照如下需求实现 dom2json 函数 1、dom2json需要分析整个节点A的dom结构,并将其结构转换为对应的json对象 2、需要获取dom结构的标签名称(tag),所有属性(attributes),子节点(children) 3、文档片段中的属性形式均为 name="value",解析之后的格式为{name: value}, 属性值为String类型,不需要做解析 4、随机生成的文档片段中,只包含 nodeType 为1(element)和3(text)的节点,不需要考虑其他节点类型 5、纯文本也视为一个节点, json格式为 {tag: ‘text’, content: ‘文本内容’},content为文本内容执行trim后的结果,如果该结果为空,则忽略当前节点 6、返回结果中的标签名称不区分大小写 7、如果节点不包含属性值或者子节点,其对应的结果中需要保留attributes以及children字段,例如 {tag: ‘div’, attributes: {}, children: []} 8、当前界面执行dom2json之后的结果为如下图所示 9、请不要手动修改html和css 10、不要使用第三方插件-笔试面试资料

这是qklbishe.com第12257 篇笔试面试资料
提供答案分析,通过本文《页面上存在id=jsContainer的节点A,系统会随机在节点A中生成文档片段,请按照如下需求实现 dom2json 函数
1、dom2json需要分析整个节点A的dom结构,并将其结构转换为对应的json对象
2、需要获取dom结构的标签名称(tag),所有属性(attributes),子节点(children)
3、文档片段中的属性形式均为 name="value",解析之后的格式为{name: value}, 属性值为String类型,不需要做解析
4、随机生成的文档片段中,只包含 nodeType 为1(element)和3(text)的节点,不需要考虑其他节点类型
5、纯文本也视为一个节点, json格式为 {tag: ‘text’, content: ‘文本内容’},content为文本内容执行trim后的结果,如果该结果为空,则忽略当前节点
6、返回结果中的标签名称不区分大小写
7、如果节点不包含属性值或者子节点,其对应的结果中需要保留attributes以及children字段,例如 {tag: ‘div’, attributes: {}, children: []}
8、当前界面执行dom2json之后的结果为如下图所示
9、请不要手动修改html和css
10、不要使用第三方插件-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:
页面上存在id=jsContainer的节点A,系统会随机在节点A中生成文档片段,请按照如下需求实现 dom2json 函数
1、dom2json需要分析整个节点A的dom结构,并将其结构转换为对应的json对象
2、需要获取dom结构的标签名称(tag),所有属性(attributes),子节点(children)
3、文档片段中的属性形式均为 name="value",解析之后的格式为{name: value}, 属性值为String类型,不需要做解析
4、随机生成的文档片段中,只包含 nodeType 为1(element)和3(text)的节点,不需要考虑其他节点类型
5、纯文本也视为一个节点, json格式为 {tag: ‘text’, content: ‘文本内容’},content为文本内容执行trim后的结果,如果该结果为空,则忽略当前节点
6、返回结果中的标签名称不区分大小写
7、如果节点不包含属性值或者子节点,其对应的结果中需要保留attributes以及children字段,例如 {tag: ‘div’, attributes: {}, children: []}
8、当前界面执行dom2json之后的结果为如下图所示
9、请不要手动修改html和css
10、不要使用第三方插件

页面上存在id=jsContainer的节点A,系统会随机在节点A中生成文档片段,请按照如下需求实现 dom2json 函数  1、dom2json需要分析整个节点A的dom结构,并将其结构转换为对应的json对象  2、需要获取dom结构的标签名称(tag),所有属性(attributes),子节点(children)  3、文档片段中的属性形式均为 name="value",解析之后的格式为{name: value}, 属性值为String类型,不需要做解析  4、随机生成的文档片段中,只包含 nodeType 为1(element)和3(text)的节点,不需要考虑其他节点类型  5、纯文本也视为一个节点, json格式为 {tag: 'text', content: '文本内容'},content为文本内容执行trim后的结果,如果该结果为空,则忽略当前节点  6、返回结果中的标签名称不区分大小写  7、如果节点不包含属性值或者子节点,其对应的结果中需要保留attributes以及children字段,例如 {tag: 'div', attributes: {}, children: []}  8、当前界面执行dom2json之后的结果为如下图所示  9、请不要手动修改html和css  10、不要使用第三方插件
页面上存在id=jsContainer的节点A,系统会随机在节点A中生成文档片段,请按照如下需求实现 dom2json 函数  1、dom2json需要分析整个节点A的dom结构,并将其结构转换为对应的json对象  2、需要获取dom结构的标签名称(tag),所有属性(attributes),子节点(children)  3、文档片段中的属性形式均为 name="value",解析之后的格式为{name: value}, 属性值为String类型,不需要做解析  4、随机生成的文档片段中,只包含 nodeType 为1(element)和3(text)的节点,不需要考虑其他节点类型  5、纯文本也视为一个节点, json格式为 {tag: 'text', content: '文本内容'},content为文本内容执行trim后的结果,如果该结果为空,则忽略当前节点  6、返回结果中的标签名称不区分大小写  7、如果节点不包含属性值或者子节点,其对应的结果中需要保留attributes以及children字段,例如 {tag: 'div', attributes: {}, children: []}  8、当前界面执行dom2json之后的结果为如下图所示  9、请不要手动修改html和css  10、不要使用第三方插件 Jalrion
明明浏览器里一切正常,感觉测试机的运行时有问题。
        function parseDom(targetobj = {}) {
        const {
          nodeType,
          nodeValue,
          tagName,
          attributes,
          childNodes,
          children,
        } = target;
        obj.tag = tagName.toLowerCase();
        let l = attributes.length;
        obj.attributes = {};
        while (–l >= 0) {
          const { namevalue } = attributes[l];
          obj.attributes[name] = value;
        }
        obj.children = [];
        if (nodeType === 1) {
          for (let c of children) {
            obj.children.push(parseDom(c));
          }

          for (let n of childNodes) {
            const { nodeTypenodeValue } = n;
            if (nodeType !== 3continue;
            const content = nodeValue
              ?.replace(/^[ n]+/“”)
              .replace(/[ n]+$/“”);
            if (!contentcontinue;
            obj.children.push({ tag: “text”content });
          }
        }
        return obj;
      }

      function dom2json() {
        const dom = document.getElementById(“jsContainer”);
        const result = parseDom(dom);
        return result;
      }

2021-05-26 23:12:03 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 页面上存在id=jsContainer的节点A,系统会随机在节点A中生成文档片段,请按照如下需求实现 dom2json 函数 1、dom2json需要分析整个节点A的dom结构,并将其结构转换为对应的json对象 2、需要获取dom结构的标签名称(tag),所有属性(attributes),子节点(children) 3、文档片段中的属性形式均为 name="value",解析之后的格式为{name: value}, 属性值为String类型,不需要做解析 4、随机生成的文档片段中,只包含 nodeType 为1(element)和3(text)的节点,不需要考虑其他节点类型 5、纯文本也视为一个节点, json格式为 {tag: ‘text’, content: ‘文本内容’},content为文本内容执行trim后的结果,如果该结果为空,则忽略当前节点 6、返回结果中的标签名称不区分大小写 7、如果节点不包含属性值或者子节点,其对应的结果中需要保留attributes以及children字段,例如 {tag: ‘div’, attributes: {}, children: []} 8、当前界面执行dom2json之后的结果为如下图所示 9、请不要手动修改html和css 10、不要使用第三方插件-笔试面试资料

提供最优质的资源集合

立即查看 了解详情