HTMLCollection 对象和NodeList 对象
获取html元素有三种方法,其中通过类名和标签获取的结果为一个HTMLCollection对象。
HTMLCollection对象可以理解为一个包含html元素的数组(但不是数组),可以通过索引[ ]访问,索引从0开始。
HTMLCollection对象具有一个length属性,即包含的html元素的个数。
①通过id:var x=document.getElementById("intro"); x值为[object HTMLParagraphElement]
②通过class类名:var x=document.getElementsByClassName("intro");x值为[object HTMLCollection]
③通过标签名:var x=document.getElementsByTagName("p");x值为[object HTMLCollection]
- <h3>JavaScript HTML DOM</h3>
- <p>Hello world!</p>
- <p class='test'>Hello world again!</p>
- <p id='test'></p>
- <p>点击按钮修改 p 元素的背景颜色。</p>
- <button onclick="myFunction()">点我</button>
- <script>
- function myFunction() {
- var myCollection1 = document.getElementsByClassName('test');
- document.getElementById('test').innerHTML=myCollection1;
- var myCollection2 = document.getElementsByTagName("p");
- for (var i = 0; i < myCollection2.length; i++) {
- myCollection2[i].style.color = "red";}
- }
对于HTMLCollection对象来说,通过for (var i in myCollection),遍历的结果除了索引下标,还会固定地有length、item和namedItem三个元素。
NodeList对象是从文档中获取的节点列表集合,浏览器的querySelectorAll()返回 NodeList 对象。
- <h3>JavaScript HTML DOM</h3>
- <p>Hello world!</p>
- <p>Hello world again!</p>
- <p id='test1'></p>
- <p id='test2'></p>
- <script>
- var myNodeList = document.querySelectorAll('p');
- document.getElementById('test1').innerHTML=myNodeList;
- document.getElementById('test2').innerHTML=myNodeList.length+'个段落'
- </script>
对于NodeList对象来说,通过for (var i in myNodeList),遍历的结果除了索引下标,还会固定地有length、item、entries、forEach、keys和values六个元素。
HTMLCollection是HTML元素的集合,而NodeList 是文档节点的集合。
相同点:都可以通过索引获取元素;都有length属性;非数组,无法使用数组的方法valueOf()、pop()、push()或join()
不同点:获取方法不同,前者是通过类名和标签获取的html元素,后者是通过querySelectorAll()获取的文档节点
前者还可通过name和id获取元素,而后者只能通过索引来获取
后者包含属性节点和文本节点
HTMLCollection 对象和NodeList 对象的更多相关文章
- HTMLCollection对象和NodeList对象
前言 首先我们先来看下面的demo,假如我们需要给所有的li字体变一个颜色. <!DOCTYPE html> <html lang="en"> <he ...
- NodeList对象的特点
nodeList对象的特点1,nodeList是一种类数组对象,用于保存一组有序的节点.2,通过方括号来访问nodeList的值,有item方法与length属性.3,它并不是Array的实例,没有数 ...
- 简述JavaScript对象、数组对象与类数组对象
问题引出 在上图给出的文档中,用JavaScript获取那个a标签,要用什么办法呢?相信第一反应一定是使用document.getElementsByTagName('a')[0]来获取.同样的,在使 ...
- Document对象和window对象
window对象--- 代表浏览器中的一个打开的窗口或者框架,window对象会在<body>或者<frameset>每次出现时被自动创建,在客户端JavaScript中,Wi ...
- 6、JavaScript进阶篇③——浏览器对象、Dom对象
一.浏览器对象 1. window对象 window对象是BOM的核心,window对象指当前的浏览器窗口. window对象方法: 注意:在JavaScript基础篇中,已讲解了部分属性,windo ...
- jQuery 源码解析(七) jQuery对象和DOM对象的互相转换
jQuery对象是一个类数组对象,它保存的是对应的DOM的引用,我们可以直接用[]获取某个索引内的DOM节点,也可以用get方法获取某个索引内的DOM节点,还可以用toArray()方法把jQuery ...
- 判断一个对象是jQuery对象还是DOM对象
今天调试一段代码的时候,看到其中一个变量,想知道它到底是jquery对象还是dom对象. 虽然直接console出这个对象,看它的内部可以判断出来.但是我想有没有什么更方便的方法呢. 后来我想到了一个 ...
- 一种简单,轻量,灵活的C#对象转Json对象的方案(续)
本文参考资料 一种简单,轻量,灵活的C#对象转Json对象的方案 [源码]Literacy 快速反射读写对象属性,字段 一段废话 之前我已经介绍了这个方案的名称为JsonBuilder,这套方案最大的 ...
- jQuery对象和DOM对象的区别
jQuery对象和DOM对象使用说明,需要的朋友可以参考下.1.jQuery对象和DOM对象第一次学习jQuery,经常分辨不清哪些是jQuery对象,哪些是 DOM对象,因此需要重点了解jQuery ...
随机推荐
- Python 全栈开发二 python基础 字符串 字典 集合
一.字符串 1,在python中,字符串是最为常见的数据类型,一般情况下用引号来创建字符串. >>ch = "wallace" >>ch1 = 'walla ...
- Google之路
1,找一个靠谱的dns 2, 替换 C:\Windows\System32\drivers\etc\hosts文件 3,刷新dns 在cmd下运行 ipconfig /flushdns 成功后会提示: ...
- ODBC的JAR包和PLSQL
eclipse编辑器,写java 下载ODBC的JAR包 配置一下用户名和密码 java连接上数据库后 不是直接操作数据库 在代码里面有SQL语句 代码执行的时候遇到这些语句就可以操作数据库 平时操 ...
- MSSqlServer 主从同步复制原理(发布/订阅)
基本模型 1.发布类型: 快照发布:用于为事务复制和合并复制提供初始数据集:在适合数据完全刷新时也可以使用快照复制.利用这三种复制,SQL Server 提供功能强大且灵活的系统,以便使企业范围内的数 ...
- 网络编程之Socket异步编程
看了上篇socket入门,相信你已经对socket有一定的了解了http://www.cnblogs.com/nsky/p/4501782.html 现在来回顾一下.上篇在循环接收客户端连接和循环接收 ...
- RSA加解密 公钥加密私钥解密 公加私解 && C++ 调用openssl库 的代码实例
前提:秘钥长度=1024 ============================================== 对一片(117字节)明文加密 ========================= ...
- MongoDB 在 windows 下的安装与服务配置
本文转载地址: https://blog.csdn.net/Dorma_Bin/article/details/80851230 本地安装及网页测试 在官网下载最新的安装文件 下载地址 : https ...
- php 门面模式
1.门面模式为外部提供一个统一的接口,外部调用者不用知道内部的具体复杂业务. 2.如果不使用门面模式,直接访问内部系统,会造成相互直接的耦合关系, 3.想让你的子系统开通哪些,就开通哪些,在门面上开通 ...
- 14. Longest Common Prefix(暴力循环)
Write a function to find the longest common prefix string amongst an array of strings. If there is n ...
- django-pagination配置出错处理
是否有人出现这类错误: 首先确认几个修改处: setting.py添加 INSTALLED_APPS = ( # ... 'pagination', ) 添加中间件 MIDDLEWARE_CLASSE ...