我需要使用纯javaScript将一些html附加到现有元素:
function create(htmlStr) {
var frag = document.createDocumentFragment(),
temp = document.createElement('div');
temp.innerHTML = htmlStr;
while (temp.firstChild) {
frag.appendChild(temp.firstChild);
}
return frag;
}
var target = document.querySelectorAll(".container-right");
var fragment = create(
'<div class="freetext"><p>Some text that should be appended...</p></div>'
);
document.body.insertBefore(fragment, document.body.childNodes[0]);
Run Code Online (Sandbox Code Playgroud)
它有点工作,但我有两个问题:
如何确保将html片段附加到具有类的div container-right而不仅仅是正文?将最后一行更改为document.body.insertBefore(fragment, target);不起作用.
如何在目标元素中的内容之后插入html - 在现有内容之后 - 如jQuery的append()?
任何帮助深表感谢.
var line = "<p><strong>" + name + ": </strong>" + message.field_message_body.und[0].value + "</p>";
console.log(line);
console.log(document.getElementById("messages"));
document.getElementById("messages").appendChild(line);
Run Code Online (Sandbox Code Playgroud)
消息存在并返回
<div id=messages"></div>
似乎没有什么是空的,所以我不确定为什么会被扔掉.
有谁知道它为什么会抛出这个错误?