Javascript:我可以在insertBefore或appendChild方法之后对元素的索引重新排序吗?
我在父容器中有3个div width class=“childContainer”,如下所示: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>
<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操作后索引都会自动更新。所以别担心,谢谢你的回答