无需 jQuery 的更优雅方式:
var container = document.getElementById('pcontainer');
container.insertBefore(document.createElement("p"), container.firstChild);
这假设容器中已经有一个元素。
非 jQuery 用户的示例:
document.getElementById('pcontainer').innerHTML = '<p>new paragraph</p>' + document.getElementById('pcontainer').innerHTML;
也许没有那么短和漂亮:)
尝试使用 prepend 而不是append。
这是一种不使用 jQuery 的方法:
function prependParagraphs()
{
var choosenDiv = document.getElementById("pcontainer");
for(var i=0; i<5; i++)
{
var newP = document.createElement("p");
var text = document.createTextNode("new paragraph number: " + i);
newP.appendChild(text);
choosenDiv.insertBefore(newP, choosenDiv.firstChild);
}
}
具体到您的 HTML,它将是:
$("#pcontainer").prepend('<p>here's a new paragraph!</p>');
你可以使用一个小技巧。 例如,首先将新的 html 存储在变量中,然后将其与旧内容一起附加到容器中。
const container = document.getElementById("pcontainer")
container.innerHTML = `<p>new para you want to add</p> ${container.innerHTML}`
不使用 jquery 的更新解决方案是使用 prepend() 方法。
function add() {
let p = document.createElement('p')
p.innerText = 'added before'
document.getElementById('pcontainer').prepend(p)
}
button = document.getElementById('add')
button.addEventListener('click', add)
<button id="add">add</button>
<div id="pcontainer">
<p>begin</p>
</div>