首页 >社区问答列表 >javascript - js删除NodeList元素

javascript - js删除NodeList元素

var img = document.getElementsByTagName("img");

因为img是NodeList(object),所以不能用Array.splice()方法来删除img里面的元素。

var list = ['a','b','c','d'];
list.splice(1,1);
console.log(list); //返回["a", "c", "d"]

怎样才能像上面这个例子一样删除img里的某个元素?

  • 数据分析师
  • 数据分析师    2017-10-01 01:15:044楼

    javascript - js删除NodeList元素-PHP中文网问答-javascript - js删除NodeList元素-PHP中文网问答

    围观一下哦,学习一下。

    +0添加回复

  • 回复
  • 黄舟
  • 黄舟    2017-04-10 12:44:433楼

    先把NodeList转换为Array,然后再删除其中的元素

    var imgs = [].slice.apply(document.getElementsByTagName('img'));
    imgs.splice(1,1);
    console.log(imgs);

    +0添加回复

  • 回复
  • 迷茫
  • 迷茫    2017-04-10 12:44:432楼

    NodeList删除会造成网页里的DOM元素的删除。
    请谨慎使用。代码如下。

    var img = document.getElementsByTagName("img");
    var len = img.length;
    for(var i = 0; i < len; i++) {
        img[i].parentNode.removeChild(img[i]);
    }

    +0添加回复

  • 回复
  • 怪我咯
  • 怪我咯    2017-04-10 12:44:431楼

    function collectionToArray(collection){  
        var ary = [];  
        for(var i=0, len = collection.length; i < len; i++){  
            ary.push(collection[i]);  
        }  
        return ary;  
    }

    于是乎。。。我自己找到答案了

    +0添加回复

  • 回复