NotFoundError:事件监听器中insertBefore的DOM异常8
NotFoundError: DOM Exception 8 on insertBefore in event listener
我有以下代码:
HTML:<div id="tree">
<ul class="root">
<li class="add">+</li>
</ul>
</div>
JavaScript: window.onload = () => {
let root = document.getElementsByClassName("root")[0];
root.addEventListener("click", (e) => {
if (e.target.classList.contains("add")) addNode(e);
return false;
}, false);
function addNode(e) {
let item = document.createElement("li");
item.innerHTML = "new";
e.target.parentNode.insertBefore(e.target, item);
}
};
当我单击li时,我在插入之前的行上得到错误NotFoundError: DOM Exception 8: An attempt was made to reference a Node in a context where it does not exist.
。我已经检查了DevTools和一切似乎是一个正常的节点,我不知道为什么它不工作。
参数顺序不正确。必须先传递新节点:
e.target.parentNode.insertBefore(item, e.target);
查看MDN文档
相关文章:
- 未捕获错误:INVALID_STATE_ERR:DOM异常11
- 正在获取INVALID_CHARACTER_ERR:DOM异常5
- HTML5音频DOM异常11错误,currentTime=0
- 未捕获错误:NOT_FOUND_ERR:appendChild调用的DOM异常8
- 通过parentNode.removeChild删除元素会引发DOM异常8
- 尝试访问本地存储时 javascript/html5 中的 dom 异常 18
- Javascript HTMLDOM appendChild 导致 DOM 异常 8
- getImageData 导致“未捕获错误:NOT_SUPPORTED_ERR:DOM 异常 9”
- ArrayBufferView未捕获错误:INDEX_SIZE_ERR:DOM异常1
- "SECURITY_ERR:DOM异常18”;当铬扩展使用“时抛出”;EventSrouce”;已初始化
- 我怎么能"getImageData”;从另一个网站?SECURITY_ERR:DOM异常18
- phantomjs使用src图像在canvas.toDataURL上抛出DOM异常18
- AJAX调用错误:错误:NetworkError:DOM异常19
- PUT请求的DOM异常19
- InvalidStateError:XPath结果出现DOM异常11
- 所有可能的未捕获错误的列表:DOM异常
- 在Web Worker onmessage回调中调用postMessage会引发SYNTAX_ERR:DOM异常12
- 使用胡子模板实现无休止滚动时出现DOM异常8错误;jquery砌石
- 奇怪的流星错误:[Log]Deps重新计算函数异常:NotFoundError:DOM异常8
- 通过窗口消息共享文件系统url的DOM异常