相关疑难解决方法(0)

使用本机javaScript附加html

我需要使用纯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)

它有点工作,但我有两个问题:

  1. 如何确保将html片段附加到具有类的div container-right而不仅仅是正文?将最后一行更改为document.body.insertBefore(fragment, target);不起作用.

  2. 如何在目标元素中的内容之后插入html - 在现有内容之后 - 如jQuery的append()?

任何帮助深表感谢.

JsFiddle在这里.

javascript

6
推荐指数
4
解决办法
2万
查看次数

未捕获的TypeError:无法在'Node'上执行'appendChild':参数1不是'Node'类型

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>

似乎没有什么是空的,所以我不确定为什么会被扔掉.

有谁知道它为什么会抛出这个错误?

javascript jquery

3
推荐指数
1
解决办法
3万
查看次数

标签 统计

javascript ×2

jquery ×1