首页 > 解决方案 > 如何在不清空 HTML 集合的情况下将其转换为数组?#2

问题描述

我正在尝试将“li”的 HTML 集合转换为数组,但数组中的结果被清空。

我阅读了这个问题并应用了它,但它不起作用。如何将 HTMLCollection 转换为数组而不清空它?

<body>
  <ul id="base"></ul>
  <script>
   const json = [{
     "id" : "1", 
     "date" : "2013/05/05",
    },{
     "id" : "2", 
     "date" : "2019/05/05",
    }];

    for (item of json) {
      const list = document.createElement('li');
      list.textContent = `${item.date}`;
      base.appendChild(list)
    }
///the code above works fine.

    const base = document.getElementById("base");
    const myNodeList = base.getElementsByTagName("li");
    console.log(myNodeList);
    // gives HTMLCollection
    const myArray = Array.from(myNodeList)
    // returns empty array
  </script>
</body>

结果

在此处输入图像描述

我在控制台上测试了相同的代码,它运行良好,如下所示。

```

标签: javascriptdom

解决方案


base代码在初始化之前无法工作。在使用它之前放置初始化使其工作。

我在这里修改了它:https ://jsfiddle.net/tk78z5gq/


推荐阅读