这是我要使工作的代码:
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/