Javascript getElementsByTagName() 和 querySelectorAll()方法

以前对于getElementsByTagName()这个方法的认识是选取指定的元素所组成的数组,今天在用的时候发现选出来的并不是一个数组,而是一个对象。

querySelectorAll()方法选择出来的是一个NodeList集合

这是它所支持的方法,可以在chrome的console里看到,数组的操作方法对它并不适用,如果想操作NodeList里面的内容,需要遍历内部的元素。

一般用数组的操作方法无法修改里面的内容,所以可以将其转换为数组,再进行修改。

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]);

}

这样就会删除DOM里的内容,需谨慎操作。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、JS前言 (1)认识JS 也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HT...
    凛0_0阅读 7,739评论 0 8
  • 第1章 认识JS JavaScript能做什么?1.增强页面动态效果(如:下拉菜单、图片轮播、信息滚动等)2.实现...
    mo默22阅读 5,193评论 0 5
  • 原文: https://github.com/ecomfe/spec/blob/master/javascript...
    zock阅读 8,647评论 2 36
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,929评论 18 399
  • 什么叫假交情? 借钱时,推三阻四打退堂鼓的; 风光时,虚情假意总把你捧的; 困难时,支支吾吾总把你躲的; 喝酒时,...
    54谭小姐阅读 1,508评论 0 2