为了账号安全,请及时绑定邮箱和手机立即绑定

js 删除元素报错

js 删除元素报错

料青山看我应如是 2019-02-28 10:29:33
直接看代码,msgList 是一个 ul 元素,target.parentNode 是 ul 下的 li,target 是 li 内部的 a 标签,要实现的功能是在 ul 上设置了 click 的事件监听,当点击 a 的时候,通过事件冒泡,会删除包含该 a 标签的 li 标签。但是如下的写法最终该元素也删除了,但是控制台却报了一个错误,没想明白怎么回事,请大神指教一二。报的错误:但是我不使用事件委托的方式,直接遍历所有的 a 标签,就是正常的。
查看完整描述

2 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

第一张图里面使用 事件委托的方式,刚才执行了一遍,也没报错,
看代码也没任何问题。应该是其它地方出问题了。

查看完整回答
反对 回复 2019-03-05
?
蛊毒传说

TA贡献1895条经验 获得超3个赞

MDN上有针对removeChild上可能造成的异常有解释:

The method throws an exception in 2 different ways:

  • If the child was in fact a child of element and so existing on the
    DOM, but was removed the method throws the following exception:

Uncaught NotFoundError: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.

  • If the child doesn't exist on the DOM of the page, the method throws
    the following exception:

Uncaught TypeError: Failed to execute 'removeChild' on 'Node': parameter 1 is not of type 'Node'.

If child was in fact a child of element at the time of the call, but was removed by an event handler invoked in the course of trying to remove the element (eg, blur.)


查看完整回答
反对 回复 2019-03-05
  • 2 回答
  • 0 关注
  • 920 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信