[英]Move first child of a DOM element to last position without creating garbage nodes
我想把第一个跨度元素放在底部,这样就可以了……
<div id="items">
<span>1</span>
<span>2</span>
<span>3</span>
</div>
...对此:
<div id="items">
<span>2</span>
<span>3</span>
<span>1</span>
</div>
我已经尝试使用下面的方法来实现这一点,但在 Chrome DevTools 中查看性能监视器时,它似乎在进程中创建了垃圾 DOM 节点。
const itemsEl = document.getElementById('items');
itemsEl.append(itemsEl.children[0]);
是否可以在不创建垃圾 DOM 节点的情况下做到这一点?
appendChild
您可以尝试appendChild
而不是append
,因为前者的工作范围较窄(只接受一个孩子,孩子必须是节点),因此 DOM impls 可能会减少内部设置以使其工作。 规范只是一步。
也就是说,我认为您应该考虑这种“垃圾节点”情况是 Chrome 特有的,而不是您可以或应该计划的事情。 今天,WebKit 创建了一个垃圾节点。 明年可能不会。 毕竟, append
的规格只有两个步骤。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.