如何将DOM元素设置为第一个孩子?2018 版 -prepend

2022-08-29 23:45:39

我有一个元素E,我正在向它附加一些元素。突然间,我发现下一个要追加的元素应该是E的第一个子元素。有什么诀窍,怎么做?方法 unshift 不起作用,因为 E 是对象,而不是数组。

很长的路要走就是迭代E的孩子并移动他们的key++,但我相信有一种更漂亮的方法。


答案 1
var eElement; // some E DOM instance
var newFirstElement; //element which should be first in E

eElement.insertBefore(newFirstElement, eElement.firstChild);

答案 2

2018 版 -prepend

parent.prepend(newChild)  // [newChild, child1, child2]

这是现代的JS!它比以前的选项更具可读性。它目前在Chrome,FF和Opera中可用。

添加到末尾的等效方法是 ,替换旧的appendappendChild

parent.append(newChild)  // [child1, child2, newChild]

高级用法

  1. 您可以传递多个值(或使用点差运算符 )。...
  2. 任何字符串值都将添加为文本元素。

例子:

parent.prepend(newChild, "foo")   // [newChild, "foo", child1, child2]

const list = ["bar", newChild]
parent.append(...list, "fizz")    // [child1, child2, "bar", newChild, "fizz"]

相关的 DOM 方法

  1. 阅读更多 - 和child.beforechild.after
  2. 阅读更多 - child.replaceWith

Mozilla Documentation

我可以使用吗