Javascript .append不能替换类似的元素
我在Javascript .append不能替换类似的元素,javascript,html,Javascript,Html,我在div.slider中有一个div.slider列表。使用js,我得到了中所有幻灯片的节点列表。滑块:let slides=document.querySelectorAll('.slider.slide')非常好(滑块本身也是const slider=document.querySelector('.slider');) 但每当我尝试将.slides中的最后一个元素添加到.slider的前面时,它就会删除最后一个.slider 因此,例如,从abc列表中,它应该是cabc,但它变成了cab
div.slider
中有一个div.slider
列表。使用js,我得到了中所有幻灯片的节点列表
。滑块
:let slides=document.querySelectorAll('.slider.slide')代码>非常好(滑块本身也是const slider=document.querySelector('.slider');
)
但每当我尝试将.slides
中的最后一个元素添加到.slider
的前面时,它就会删除最后一个.slider
因此,例如,从abc
列表中,它应该是cabc
,但它变成了cab
我尝试了slider.insertBefore(slides[slides.length-1,slides[0]);
slider.appendChild(slides[slides.length-1]);
和其他一些方法
如何将节点列表元素的副本添加到开始/结束,而不删除类似的/duplicant?
无jquery使用:
insertBefore()
和appendChild()
都将节点移动到新位置,而不复制它
从文件中:
如果文档中已存在给定节点,insertBefore()
moves
它将从当前位置移动到新位置。(即,它将
在追加之前自动从其现有父级中删除
添加到指定的新父级。)
这意味着节点不能位于文档的两个位置
同时
注意:可以使用节点。cloneNode()
创建节点的副本
在将其附加到新父项下之前。请注意
与cloneNode()将不会自动保持同步
因为同一元素不能同时位于两个位置。您需要克隆它
slider.insertBefore(slides[slides.lenght -1].cloneNode(), slides[0]);