Javascript 未捕获错误:NotFoundError:DOM异常8?

Javascript 未捕获错误:NotFoundError:DOM异常8?,javascript,html,dom,Javascript,Html,Dom,我正在HTML5中进行拖放操作,但当我删除我的项目时,我得到了未捕获错误:NotFoundError:DOM异常8任何人都可以帮助我。请检查下面的代码 <html> <head> <script> function drag(ev) { console.log("call drag event method.."); ev.dataTransfer.setData("Text",ev.target.id); } function drop(ev)

我正在HTML5中进行拖放操作,但当我删除我的项目时,我得到了未捕获错误:NotFoundError:DOM异常8任何人都可以帮助我。请检查下面的代码

<html>
<head>
<script>

 function drag(ev)
  {
console.log("call drag event method..");
 ev.dataTransfer.setData("Text",ev.target.id);
 }

function drop(ev)
{
console.log("call drop event method..");
  ev.preventDefault();
  var data=ev.dataTransfer.getData("Text");
   ev.target.appendChild(document.getElementById(data));
}
 function allowDrop(ev)
{
 console.log("call allow event method..");
 ev.preventDefault();
}   
</script>
<body>
 <div id="selectedItems" style="overflow-y:scroll">
 <button draggable="true" ondragstart="drag(event)">FirstName</button>        
 <button draggable="true" ondragstart="drag(event)" >FirstName</button>
 <button draggable="true" ondragstart="drag(event)" >FirstName</button>
</div>
     <div id="selectedItems"  ondrop="drop(event)" ondragover="allowDrop(event)">


              </div>
</body>
</html>

功能阻力(ev)
{
log(“调用拖动事件方法…”);
ev.dataTransfer.setData(“文本”,ev.target.id);
}
功能下降(ev)
{
log(“调用丢弃事件方法…”);
ev.preventDefault();
var data=ev.dataTransfer.getData(“文本”);
ev.target.appendChild(document.getElementById(数据));
}
功能allowDrop(ev)
{
log(“调用允许事件方法…”);
ev.preventDefault();
}   
名字
名字
名字

但是我正在删除按钮的I get Uncaught Error:NotFoundError:DOM Exception 8 Any one help me

拖动时,您正在获取元素(按钮)的id并将其保存在事件数据中,但是您的标记没有按钮的id。因此,您的appendChild失败,因为null(因为document.getElementById为空id返回null)不是有效的html节点

尝试向按钮元素添加一些id

<button id="11"  draggable="true" ondragstart="drag(event)">FirstName</button>
<button id="21" draggable="true" ondragstart="drag(event)">FirstName</button>
<button id="31" draggable="true" ondragstart="drag(event)">FirstName</button>
FirstName
名字
名字


还注意到您正在复制divs中的id,这是不正确的。ID在文档中必须是唯一的。您可以从第一个div中删除id。

拖动时,您将获得元素(按钮)的id并将其保存在事件数据中,但您的标记没有按钮的id。因此,您的appendChild失败,因为null(因为document.getElementById为空id返回null)不是有效的html节点

尝试向按钮元素添加一些id

<button id="11"  draggable="true" ondragstart="drag(event)">FirstName</button>
<button id="21" draggable="true" ondragstart="drag(event)">FirstName</button>
<button id="31" draggable="true" ondragstart="drag(event)">FirstName</button>
FirstName
名字
名字


还注意到您正在复制divs中的id,这是不正确的。ID在文档中必须是唯一的。您可以从第一个div中删除id。

您能告诉我们错误被抛出的位置吗?\Hi在这个函数中函数drop(ev){console.log(“调用丢弃事件方法”);ev.preventDefault();var data=ev.dataTransfer.getData(“Text”);ev.target.appendChild(document.getElementById(data));}ev.target.appendChild(document.getElementById(data));line throws error我认为不需要传递未定义的变量
event
ondragstart=“drag”
就足够了。您能告诉我们错误被抛出的位置吗?Hi在这个函数中函数drop(ev){console.log(“call drop event method.”;ev.preventDefault();var data=ev.dataTransfer.getData(“Text”);ev.target.appendChild(document.getElementById(数据));}ev.target.appendChild(document.getElementById(数据));行抛出错误我认为不需要传递未定义的变量
事件
ondragstart=“drag”
足够了。嗨,我在演示中查看了,但当我拖动按钮时,没有出现任何问题thing@user2767541我检查了它,它工作了。将它放在有边框的区域。当我放下按钮时,我想为该按钮添加一个删除图标,当我单击“删除”图标时,我的按钮将从该分区中删除并将其添加到我的上一个分区中。我该如何做。请帮助我我建议你自己试一试,这将有助于学习东西,并针对你面临的问题提出问题……)嗨,我查看了演示,但当我拖动按钮时,没有发生任何问题thing@user2767541我检查了它,它工作了。将其放在有边框的区域。当我放下按钮时,我想为该按钮添加一个删除图标,当我单击“删除图标”时,我的按钮将从该分区中删除并将其添加到我的上一个分区中。我如何做到这一点..请帮助mei建议您尝试一下,这将有助于学习内容,并为您提出问题正面……)