Javascript:我可以在insertBefore或appendChild方法之后对元素的索引重新排序吗?

Javascript:我可以在insertBefore或appendChild方法之后对元素的索引重新排序吗?,javascript,Javascript,我在父容器中有3个div width class=“childContainer”,如下所示: <div id="parentContainer"> <div class="childContainer"></div> <div class="childContainer"></div> <div class="childContainer"></div> </div>

我在父容器中有3个div width class=“childContainer”,如下所示:

<div id="parentContainer">

    <div class="childContainer"></div>
    <div class="childContainer"></div>
    <div class="childContainer"></div>

</div>
然后,我使用以下命令将第一个childContrainer移动到最后一个位置:

parentContainer.appendChild(childContainer[0])

因此子容器的元素索引变成:1,2,0,而不是0,1,2

但我想对这些索引重新排序,使元素索引1变为0,元素索引2变为1,元素索引0变为2

我该怎么做呢?

如果您这样使用:

parentContainer.insertBefore(childContainer[0], childContainer[0]);
如果您这样使用:

parentContainer.insertBefore(childContainer[0], childContainer[0]);

当您创建
childContainers
时,您正在创建一个。以及:

HTMLDOM中的HTMLCollection是活动的;当基础文档发生更改时,它会自动更新

这意味着当您运行
parentContainer.appendChild(childContainer[0])更新
HTMLCollection
,导致:

{
  "0": <div class="childContainer">1</div>,
  "1": <div class="childContainer">2</div>,
  "2": <div class="childContainer">0</div>,
  "length": 3,
  "item": function item() { [native code] },
  "namedItem": function namedItem() { [native code] }
}

0
1.
2.

当您创建
子容器时
您正在创建一个。以及:

HTMLDOM中的HTMLCollection是活动的;当基础文档发生更改时,它会自动更新

这意味着当您运行
parentContainer.appendChild(childContainer[0])更新
HTMLCollection
,导致:

{
  "0": <div class="childContainer">1</div>,
  "1": <div class="childContainer">2</div>,
  "2": <div class="childContainer">0</div>,
  "length": 3,
  "item": function item() { [native code] },
  "namedItem": function namedItem() { [native code] }
}

0
1.
2.

每次DOM操作后,索引都会自动更新。所以不用担心,谢谢你的回答,每次DOM操作后索引都会自动更新。所以别担心,谢谢你的回答