" Uncaught HierarchyRequestError:createTextNode之后的新行标记

时间:2015-11-09 21:29:02

标签: javascript

这是我尝试工作的代码:

var aform = document.createElement("form");
var model = document.createTextNode("xyz");
var newLine = document.createElement('br');
model.appendChild(newLine);
var status = document.createTextNode("abc");

aform.appendChild(model);
aform.appendChild(status);

$("#someDiv").append(aform);

当我尝试运行代码时,它一直给我错误

  

" Uncaught HierarchyRequestError:无法执行' appendChild' on' Node':此节点类型不支持此方法。"

有人可以建议为什么它不起作用?在创建文本节点xyz然后创建abc。

后,我只想要一个新行

2 个答案:

答案 0 :(得分:1)

你可以使用jQuery完成所有工作,因为无论如何你都在使用它:

$("#someDiv").append("<form>xyz<br>abc</form>");

答案 1 :(得分:0)

var model = document.createTextNode("xyz");
var newLine = document.createElement('br');
model.appendChild(newLine);

你不能这样做,因为你的父母是TEXT Node,这种类型的节点不能有childNodes。

var model = document.createTextNode("xyz");

与:

相同
var model.textContent = "xyz";

我建议你使用innerHTML方法,它的工作速度提高了几十倍,没有jQuery,例如:

document.getElementById("someDiv").innerHTML = "<form>xyz<br>abc</form>".

或您的代码(已修复):

var aform = document.createElement("form");
        var model = document.createTextNode("xyz");
        var newLine = document.createElement('br');
        var status = document.createTextNode("abc");

        aform.appendChild(model);
        aform.appendChild(newLine);
        aform.appendChild(status);

        $("#someDiv").append(aform);