我写了下面的代码
function byId(id) {
return document.getElementById(id);
}
function addElm(root,elm) {
document.createElement(elm);
if(!root) {
root = document;
}
root.appendChild(elm);
return elm;
}
document.addEventListener('DOMContentLoaded',function() {
var elm = byId('myExistingElmId');
addElm(elm,'span');
},false);
我的文档中有ID为“ myExistingElmId”的元素。
线
root.appendChild(elm);
在控制台中给我以下错误
Uncaught error: NOT_FOUND_ERR: DOM Exception 8
为什么会这样呢?
最佳答案
您的addElm
函数是错误的-您正在丢弃document.createElement
的结果。
它应该是:
function addElm(root, type) {
var elm = document.createElement(type);
if(!root) {
root = document.body;
}
root.appendChild(elm);
return elm;
}
见http://jsfiddle.net/alnitak/wAuvJ/
[@Ethan也应该是
document.body
是正确的,但这与您在不执行该代码路径时所看到的实际错误有关”关于javascript - Javascript HTMLDOM appendChild导致DOM异常8,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10408595/