【问题标题】:Trying to remove a paragraph in JavaScript试图在 JavaScript 中删除一个段落
【发布时间】:2021-12-22 14:23:49
【问题描述】:

我正在执行一项任务,我打算在单击按钮时从页面中删除一个段落。我不断返回错误“未捕获的类型错误:Node.removeChild:参数 1 不是对象。”它引用了我的代码中的第 37 行。

第 37 行: divTag.removeChild(divTag.children[allPs.length-1]);

这是脚本的一部分:

btnDelete.addEventListener('click', function(){
      var allPs = document.querySelectorAll('p');
      divTag.removeChild(divTag.children[allPs.length-1]);
    });

【问题讨论】:

    标签: javascript button arguments event-listener removechild


    【解决方案1】:

    需要考虑的重要一点是divTag.children,它查看 DOM 中一个元素的子元素,可能比 allPs.length 短得多,正如您定义的那样,它是 all DOM 中的 p 个元素。实际上导致错误的可能是您正在查看数组divTag.children 中不存在的索引([allPs.length - 1])。我不知道您正在处理的确切规格,但您可以尝试将divTag.children[allPs.length - 1] 替换为allPs[allPs.length - 1]。如果没有更多关于实际规格的信息,那么我现在可以提供的帮助。如果您有更多信息,我可以在评论中详细说明。

    【讨论】:

    • 谢谢。这对我来说比任何事情都更有意义。它不再抛出错误,但唉,这不起作用。我将重新审查材料,看看我能做些什么。但是您帮助我摆脱了错误,这是一个巨大的进步,所以谢谢!
    猜你喜欢
    • 1970-01-01
    • 2014-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-16
    • 2015-12-16
    • 2013-02-22
    • 1970-01-01
    相关资源
    最近更新 更多