Answers:
var eElement; // some E DOM instance
var newFirstElement; //element which should be first in E
eElement.insertBefore(newFirstElement, eElement.firstChild);
您可以使用
targetElement.insertAdjacentElement('afterbegin', newFirstElement)
从MDN:
insertAdjacentElement()方法将给定元素节点插入到相对于调用它的元素的给定位置。
position
一个DOMString,表示相对于元素的位置;必须为以下字符串之一::
beforebegin
元素本身之前。
afterbegin
:在元素内,在其第一个子元素之前。
beforeend
:在元素的最后一个子元素之后。
afterend
:元素本身之后。element
要插入到树中的元素。
在同族中insertAdjacent
也有同级方法:
element.insertAdjacentHTML('afterbegin','htmlText')
直接注入html字符串,就像innerHTML
但不覆盖所有内容,因此您可以跳过的压迫过程,document.createElement
甚至可以使用字符串操作过程构建整个组件
element.insertAdjacentText
用于将消毒字符串注入element中。不再encode/decode
element
typeof 。直到我们有更好的答案,您最好的猜测是将追加到。进行dom操作,然后使用并取回碎片document-fragment
insertAdjacent...()
fragment
div
Range.selectNodeContents()
Range.extractContents()
parentElement.prepend(newFirstChild)
这是现代JS!它比以前的选项更具可读性。目前在Chrome,FF和Opera中可用。
PS您可以直接在字符串前添加
parentElement.prepend('This text!')
我可以使用 -94%2020年5月
.appendChild()
但将其添加到开始.prepend()
不是坚持约定俗成的称呼.prependChild()
append()
同样存在,其工作方式与相同prepend()
,但最终
prepend
。:(好吧,它过去不存在
除非我有误解:
$("e").prepend("<yourelem>Text</yourelem>");
要么
$("<yourelem>Text</yourelem>").prependTo("e");
尽管从您的描述中听起来好像存在某些条件,所以
if (SomeCondition){
$("e").prepend("<yourelem>Text</yourelem>");
}
else{
$("e").append("<yourelem>Text</yourelem>");
}
我认为您正在寻找jQuery中的.prepend函数。示例代码:
$("#E").prepend("<p>Code goes here, yo!</p>");
var newItem = document.createElement("LI"); // Create a <li> node
var textnode = document.createTextNode("Water"); // Create a text node
newItem.appendChild(textnode); // Append the text to <li>
var list = document.getElementById("myList"); // Get the <ul> element to insert a new node
list.insertBefore(newItem, list.childNodes[0]); // Insert <li> before the first child of <ul>