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里的某个元素?
先把NodeList转换为Array,然后再删除其中的元素
var imgs = [].slice.apply(document.getElementsByTagName('img'));
imgs.splice(1,1);
console.log(imgs);
NodeList删除会造成网页里的DOM元素的删除。
请谨慎使用。代码如下。
var img = document.getElementsByTagName("img");
var len = img.length;
for(var i = 0; i < len; i++) {
img[i].parentNode.removeChild(img[i]);
}
function collectionToArray(collection){
var ary = [];
for(var i=0, len = collection.length; i < len; i++){
ary.push(collection[i]);
}
return ary;
}
于是乎。。。我自己找到答案了
正文完