以前對于getElementsByTagName()這個方法的認識是選取指定的元素所組成的數(shù)組,今天在用的時候發(fā)現(xiàn)選出來的并不是一個數(shù)組,而是一個對象。
querySelectorAll()方法選擇出來的是一個NodeList集合
這是它所支持的方法,可以在chrome的console里看到,數(shù)組的操作方法對它并不適用,如果想操作NodeList里面的內(nèi)容,需要遍歷內(nèi)部的元素。
一般用數(shù)組的操作方法無法修改里面的內(nèi)容,所以可以將其轉(zhuǎn)換為數(shù)組,再進行修改。
var imgs = [].slice.apply(document.getElementsByTagName('img'));
imgs.splice(1,1);
console.log(imgs);
這樣就可以修改NodeList的內(nèi)容了。
如果直接修改會改變DOM的內(nèi)容。
var img =document.getElementsByTagName("img");
var len = img.length;
for(var i =0; i < len; i++) { ? ?
? ? img[i].parentNode.removeChild(img[i]);
}
這樣就會刪除DOM里的內(nèi)容,需謹慎操作。