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: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.
黄舟2017-04-10 12:44:43
先把NodeList转换为Array,然后再删除其中的元素
var imgs = [].slice.apply(document.getElementsByTagName('img')); imgs.splice(1,1); console.log(imgs);
迷茫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]); }
怪我咯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; }
于是乎。。。我自己找到答案了