使用javascript将htmlcollection转换为数组

y3bcpkx1  于 2021-09-13  发布在  Java
关注(0)|答案(1)|浏览(445)

我想用类“box”获取所有html元素,然后该集合将其转换为数组,这样我就可以通过位置访问每个元素。
这是我写的代码:

function BoxAppearence() {

    var BoxCollection = document.getElementsByClassName("Box");
    console.log(BoxCollection)
    var Box = BoxCollection.split("");
    console.log(Box)

    console.log(Box[12])
}

BoxAppearence();
0sgqnhkj

0sgqnhkj1#

如注解中所述,您可以使用 Array.from() .
无论如何,如果将集合转换为数组的唯一原因是能够通过其索引/位置访问元素,如下面的代码段所示,那么也可以使用html集合(尽管实际上使用的是对象“键”而不是索引)。

function BoxAppearence() {
  var BoxCollection = document.getElementsByClassName("Box");
  var BoxArray = Array.from(BoxCollection);

  console.log("### BoxCollection ###");
  console.log("Is 'BoxCollection' an array?", Array.isArray(BoxCollection));
  console.log(BoxCollection);
  console.log(BoxCollection[12])
  console.log('\n\n');
  console.log("### BoxArray ###");
  console.log("Is 'BoxArray' an array?", Array.isArray(BoxArray));
  console.log(BoxArray);
  console.log(BoxArray[12]);
}

BoxAppearence();
<div class="Box">box1</div>
<div class="Box">box2</div>
<div class="Box">box3</div>
<div class="Box">box4</div>
<div class="Box">box5</div>
<div class="Box">box6</div>
<div class="Box">box7</div>
<div class="Box">box8</div>
<div class="Box">box9</div>
<div class="Box">box10</div>
<div class="Box">box11</div>
<div class="Box">box12</div>
<div class="Box">box13</div>

相关问题