未捕获的HierarchyRequestError

未捕获的HierarchyRequestError

这是我要使工作的代码:

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);


当我尝试运行代码时,它总是给我错误


  “未捕获的HierarchyRequestError:无法在'Node'上执行'appendChild':此节点类型不支持此方法。”


有人可以建议为什么它不起作用吗?在创建文本节点xyz和abc之后,我只想要换行。

最佳答案

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);

关于javascript - “未捕获的HierarchyRequestError:createTextNode之后的新行标记,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33618644/

10-11 12:12