Home  >  Q&A  >  body text

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里的某个元素?

PHPzPHPz2750 days ago1148

reply all(4)I'll reply

  • 数据分析师

    数据分析师2017-10-01 01:15:04

    javascript - js deletes NodeList elements - PHP Chinese website Q&A - javascript - js deletes NodeList elements - PHP Chinese website Q&A

    Take a look around and learn.

    reply
    0
  • 黄舟

    黄舟2017-04-10 12:44:43

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

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

    reply
    0
  • 迷茫

    迷茫2017-04-10 12:44:43

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

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

    reply
    0
  • 怪我咯

    怪我咯2017-04-10 12:44:43

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

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

    reply
    0
  • Cancelreply