javascript – 如何从HTMLCollection中删除项目?

我有一些Javascript代码从HTMLCollection中删除项目,如下面的代码.调用splice时出现错误:allInputs.splice不是函数.如果元素类型不是按钮类型,我需要从HTMLCollection中删除项目.

问题:如何从此类集合中删除项目?

我可以将未删除的项目传输到数组,然后我可以使用数组而不是原始的HTMLCollection,但不确定是否还有其他更短的方法.

JavaScript代码

    var allInputs = contentElement.getElementsByTagName('input');
    for (var i = (allInputs.length - 1) ; i >= 0; i--) {
        if (allInputs[i].type !== "button") {
            allInputs.splice(i, 1);//this is throwing an error since splice is not defined
        }
    }

解决方法:

HTMLCollection是一个类似实时数组的对象,这意味着如果你需要从这样的集合中删除一个元素,你将不得不从DOM中删除它.您始终可以将其克隆到Array中进行操作.

上一篇:javascript – 无法访问HTMLCollection的值


下一篇:document.getElementById动态的Node集合随时变化, 和document.querySelector静态的后续无法变化