首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用javascript将Html ul/ol列表转换成树状数据结构?

问如何用javascript将Html ul/ol列表转换成树状数据结构?
EN

Stack Overflow用户
提问于 2020-04-02 14:15:32
回答 1查看 127关注 0票数 1

谁能告诉我最有效的方法来转换一个html ul/ol列表字符串到一个树状结构的纯javascript或第三个库?

html字符串和数据结构可能如下所示,数据中的属性名称仅为示例:

​

​

EN

回答 1

Stack Overflow用户

发布于 2020-04-02 15:20:41

我在中搜索答案,以便标记为重复。令我沮丧的是,我找不到一个能解决你问题的答案。

但好的一面是,它让我编写了自己的函数。

​

代码语言:javascript
复制
const $List = document.getElementById('list')

const processNode = node => {
  if (node.children.length) {
    const children = Array.from(node.children).map(child => {
      return processNode(child)
    })

    return {
      tag: node.localName,
      id: node.id,
      children
    }
  } else {
    return {
      tag: node.localName,
      id: node.id,
      content: node.innerText
    }
  }
}

const vList = processNode($List);

console.log(vList)
代码语言:javascript
复制
<ul id="list">
  <li>One</li>
  <li>Two</li>
  <li>Three</li>
  <ol>
    <li>Four</li>
    <li>Five</li>
    <li>Six</li>
  </ol>
</ul>

​

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60985255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档