HTML5 HTMLCollection和NodeList的区别详解


Posted in HTML / CSS onApril 29, 2020

本文主要介绍了HTML5 HTMLCollection和NodeList的区别详解,分享给大家,具体如下:

获取

HTMLCollection 对象

getElementsByTagName() 方法返HTMLCollection对象。
HTMLCollection 对象类似包含 HTML 元素的一个数组。

注意:

  • HTMLCollection 不是一个数组!
  • HTMLCollection 看起来可能是一个数组,但其实不是。
  • 你可以像数组一样,使用索引来获取元素。
  • HTMLCollection 无法使用数组的方法: valueOf(), pop(), push(), 或 join()。

NodeList 对象

大部分浏览器的querySelectorAll()返回 NodeList 对象。

注意

  • 节点列表不是一个数组!
  • 节点列表看起来可能是一个数组,但其实不是。
  • 你可以像数组一样,使用索引来获取元素。
  • 节点列表无法使用数组的方法: valueOf(), pop(), push(), 或 join() 。

HTMLCollection 与 NodeList 的区别

  1. HTMLCollection是 HTML 元素的集合。(仅包含元素)
  2. NodeList 是一个文档节点的集合。
  3. NodeList 与 HTMLCollection 有很多类似的地方。
  4. NodeList 与 HTMLCollection 都与数组对象有点类似,可以使用索引 (0, 1, 2, 3, 4, ...) 来获取元素。
  5. NodeList 与 HTMLCollection 都有 length 属性。
  6. HTMLCollection 元素可以通过 name,id 或索引来获取。
  7. NodeList 只能通过索引来获取。
  8. 只有 NodeList 对象有包含属性节点和文本节点。

代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <P>1</P>
    <P id="p2">2</P>
    <P>3</P>
    <P>4</P>
    <P>5</P>
    <script>
            //  getElementsByTagName() 方法返回 HTMLCollection 对象。 
            const myCollection = document.getElementsByTagName('p');
            console.log(myCollection)
            // 大部分浏览器的 querySelectorAll() 返回 NodeList 对象。
            const myNodeList  = document.querySelectorAll("p");
            console.log(myNodeList)
            console.log(myNodeList ===myCollection) //false
            console.log(myCollection.p2)  // <P id="p2">2</P>
            console.log(myNodeList.p2) //undefine 

    </script>
</body>
</html>

到此这篇关于HTML5 HTMLCollection和NodeList的区别详解的文章就介绍到这了,更多相关HTML5 HTMLCollection NodeList内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

HTML / CSS 相关文章推荐
用CSS3的box-reflect设置文字倒影效果的方法讲解
Mar 07 HTML / CSS
HTML5里autofocus自动聚焦属性使用介绍
Jun 22 HTML / CSS
html5+CSS3+JS实现七夕言情功能代码
Aug 28 HTML / CSS
用HTML5.0制作网页的教程
May 30 HTML / CSS
html5 迷宫游戏(碰撞检测)实例一
Jul 25 HTML / CSS
简单html5代码获取地理位置
Mar 31 HTML / CSS
HTML5新特性之用SVG绘制微信logo
Feb 03 HTML / CSS
HTML5不支持标签和新增标签详解
Jun 27 HTML / CSS
canvas如何绘制钟表的方法
Dec 13 HTML / CSS
如何在Canvas中添加事件的方法示例
May 21 HTML / CSS
简单实现一个手持弹幕功能+文字抖动特效
Mar 31 HTML / CSS
CSS3新特性详解(五):多列columns column-count和flex布局
Apr 30 HTML / CSS
HTML5调用手机发短信和打电话功能
Apr 29 #HTML / CSS
H5离线存储Manifest原理及使用
Apr 28 #HTML / CSS
HTML5中的网络存储实现方式
Apr 28 #HTML / CSS
HTML5通过navigator.mediaDevices.getUserMedia调用手机摄像头问题
Apr 27 #HTML / CSS
遮罩层 + Iframe实现界面自动显示的示例代码
Apr 26 #HTML / CSS
html5中使用hotcss.js实现手机端自适配的方法
Apr 23 #HTML / CSS
html5 canvas 实现光线沿不规则路径运动
Apr 20 #HTML / CSS
You might like
使用Apache的htaccess防止图片被盗链的解决方法
2013/04/27 PHP
Yii CGridView用法实例详解
2016/07/12 PHP
php 如何设置一个严格控制过期时间的session
2017/05/05 PHP
PHP钩子实现方法解析
2019/05/21 PHP
js调用flash的效果代码
2008/04/26 Javascript
根据一段代码浅谈Javascript闭包
2010/12/14 Javascript
JSONP 跨域共享信息
2012/08/16 Javascript
基于jquery的滚动条滚动固定div(附演示下载)
2012/10/29 Javascript
js二级地域选择的实现方法
2013/06/17 Javascript
对frameset、frame、iframe的js操作示例代码
2013/08/16 Javascript
当json键为数字时的取值方法解析
2013/11/15 Javascript
轻松学习jQuery插件EasyUI EasyUI表单验证
2015/12/01 Javascript
jQuery实现textarea自动增长宽高的方法
2015/12/18 Javascript
js放大镜放大购物图片效果
2017/01/18 Javascript
JS判断一个数是否是水仙花数
2017/06/11 Javascript
JS实现指定区域的全屏显示功能示例
2019/04/25 Javascript
vue 实现 rem 布局或vw 布局的方法
2019/11/13 Javascript
微信小程序实现吸顶效果
2020/01/08 Javascript
[48:22]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python实现各种排序算法的代码示例总结
2015/12/11 Python
Python正则表达式实现截取成对括号的方法
2017/01/06 Python
Python中的命令行参数解析工具之docopt详解
2017/03/27 Python
python针对excel的操作技巧
2018/03/13 Python
Python实现繁体中文与简体中文相互转换的方法示例
2018/12/18 Python
python pandas获取csv指定行 列的操作方法
2019/07/12 Python
解决matplotlib.pyplot在Jupyter notebook中不显示图像问题
2020/04/22 Python
css3 自定义字体font-face使用介绍
2014/05/14 HTML / CSS
英国最大的经认证的有机超市:Planet Organic
2018/02/02 全球购物
丝芙兰香港官网:Sephora香港
2018/03/13 全球购物
如何掌握自荐信格式呢
2013/11/19 职场文书
投资协议书范本
2014/04/21 职场文书
四川省传达学习贯彻党的群众路线教育实践活动总结大会精神新闻稿
2014/10/26 职场文书
2015年父亲节寄语
2015/03/23 职场文书
涨价通知
2015/04/23 职场文书
8g内存用python读取10文件_面试题-python 如何读取一个大于 10G 的txt文件?
2021/05/28 Python
Python排序算法之插入排序及其优化方案详解
2021/06/11 Python