- JavaScript 教程
- JavaScript 教程
- Javascript - 概述
- Javascript - 功能
- 在浏览器中启用 JavaScript
- JavaScript - 放置在 HTML 文件中
- JavaScript - 语法
- JavaScript - Hello World 程序
- JavaScript - Console.log()方法
- JavaScript - 注释
- JavaScript - 变量
- JavaScript - let 语句
- JavaScript - 常量
- JavaScript - 数据类型
- JavaScript - 类型转换
- JavaScript - 严格模式
- JavaScript - 保留关键字
- JavaScript 运算符
- JavaScript - 运算符
- JavaScript - 算术运算符
- JavaScript - 比较运算符
- JavaScript - 逻辑运算符
- JavaScript - 按位运算符
- JavaScript - 赋值运算符
- JavaScript - 条件运算符
- JavaScript - typeof 运算符
- JavaScript - Nullish 合并运算符
- JavaScript - Delete 运算符
- JavaScript - 逗号运算符
- JavaScript - 分组运算符
- JavaScript - Yield 运算符
- JavaScript - Spread 运算符
- JavaScript - 幂运算符
- JavaScript - 运算符优先级
- JavaScript 控制流
- JavaScript - if...else 语句
- JavaScript - While 循环
- JavaScript - For 循环
- JavaScript - For...in 循环
- JavaScript - For...of 循环
- JavaScript - 循环控制
- JavaScript - Break 语句
- JavaScript - Continue 语句
- JavaScript - Switch Case 语句
- JavaScript - 用户定义的迭代器
- JavaScript 函数
- JavaScript - 函数
- JavaScript - 函数表达式
- JavaScript - 函数参数
- JavaScript - 默认参数
- JavaScript - Function() 构造函数
- JavaScript - 函数提升
- JavaScript - 自调用函数
- JavaScript - 箭头函数
- JavaScript - 函数调用
- JavaScript - 函数 call() 方法
- JavaScript - 函数 apply() 方法
- JavaScript - 函数 bind() 方法
- JavaScript - 闭包
- JavaScript - 变量范围
- JavaScript - 全局变量
- JavaScript - 智能函数参数
- JavaScript 对象
- JavaScript - Number 对象
- JavaScript - 布尔对象
- JavaScript - String 对象
- JavaScript - Array 对象
- JavaScript - 日期对象
- JavaScript - DataView 对象
- JavaScript - 处理程序
- JavaScript - math 对象
- JavaScript - 正则表达式
- JavaScript - Symbol 对象
- JavaScript - Set(集)对象
- JavaScript - WeakSet 对象
- JavaScript - Maps (地图) 对象
- JavaScript - WeakMap 对象
- JavaScript - Iterables 对象
- JavaScript - Reflect 对象
- JavaScript - TypedArray 对象
- JavaScript - 模板文本
- JavaScript - tagged 模板
- 面向对象的 JavaScript
- JavaScript - 对象概述
- JavaScript - 类(Classes)
- JavaScript - 对象属性
- JavaScript - 对象方法
- JavaScript - Static(静态)方法
- JavaScript - display(显示)对象
- JavaScript - 对象访问器
- JavaScript - 对象构造函数
- JavaScript - 原生原型
- JavaScript - ES5 对象方法
- JavaScript - Encapsulation(封装)
- JavaScript - Inheritance(继承)
- JavaScript - Abstraction(抽象)
- JavaScript - Polymorphism(多态性)
- JavaScript - 解构赋值
- JavaScript - 对象解构
- JavaScript - 数组解构
- JavaScript - 嵌套解构
- JavaScript - 可选链接
- JavaScript - 全局对象
- JavaScript - Mixin
- JavaScript - Proxies(代理)
- JavaScript 版本
- JavaScript - 历史
- JavaScript - 版本
- JavaScript - ES5
- JavaScript cookies
- JavaScript - Cookies
- JavaScript - Cookie 属性
- JavaScript - 删除 Cookie
- JavaScript 浏览器 BOM
- JavaScript - 浏览器对象模型
- JavaScript - Window 对象
- JavaScript - Document 对象
- JavaScript - Screen 对象
- JavaScript - History 对象
- JavaScript - navigator 对象
- JavaScript - Location 对象
- JavaScript - Console 对象
- JavaScript Web API
- JavaScript - Web API
- JavaScript - history API( 历史 API)
- JavaScript - Storage API(存储 API)
- JavaScript - Forms API(表单 API)
- JavaScript - Worker API
- JavaScript - Fetch API (获取 API)
- JavaScript - Geolocation API (地理位置 API)
- JavaScript 事件
- JavaScript - Events (事件简介)
- JavaScript - DOM 事件
- JavaScript - addEventListener()
- JavaScript - 鼠标事件
- JavaScript - 键盘事件
- JavaScript - 表单事件
- JavaScript - 窗口/文档事件
- JavaScript - 事件委派
- JavaScript - 事件冒泡
- JavaScript - 事件捕获
- JavaScript - 自定义事件
- JavaScript 错误处理
- JavaScript - 错误和异常处理
- JavaScript - try...catch 语句
- JavaScript - 调试
- JavaScript - 自定义错误
- JavaScript - 扩展错误
- JavaScript 重要关键词
- JavaScript - this 关键字
- JavaScript - void 关键字
- JavaScript - new 关键字
- JavaScript - var 关键字
- JavaScript HTML DOM
- JavaScript - 文档对象模型或 DOM
- JavaScript - DOM 方法
- JavaScript - DOM 文档
- JavaScript - DOM 元素
- JavaScript - DOM 表单
- JavaScript - 更改 HTML
- JavaScript - 更改 CSS
- JavaScript - DOM 动画
- JavaScript - DOM 导航
- JavaScript - DOM 集合
- JavaScript - DOM 节点列表
- JavaScript 杂项
- JavaScript - Ajax
- JavaScript - 异步迭代
- JavaScript - Atomics 对象 (原子对象)
- JavaScript - Rest 参数
- JavaScript - 页面重定向
- JavaScript - 对话框
- JavaScript - 页面打印
- JavaScript - 表单验证
- JavaScript - 动画
- JavaScript - 多媒体
- JavaScript - Image Map(图像映射)
- JavaScript - 浏览器兼容性
- JavaScript - JSON
- JavaScript - 多行字符串
- JavaScript - 日期格式
- JavaScript - 获取日期方法
- JavaScript - 设置日期方法
- JavaScript - 模块
- JavaScript - 动态导入
- JavaScript - BigInt 数据类型
- JavaScript - Blob
- JavaScript - Unicode
- JavaScript - 浅层复制
- JavaScript - 调用堆栈
- JavaScript - 引用类型
- JavaScript - IndexedDB
- JavaScript - 点击劫持攻击
- JavaScript - Currying (局部套用)
- JavaScript - 图形
- JavaScript - Canvas
- JavaScript - Debouncing (防抖)
- JavaScript - 性能
- JavaScript - 样式指南
- JavaScript - 内置函数
JavaScript - DOM 集合
DOM(文档对象模型)集合是一种将相关 HTML 元素组合在一起的方法。它们是只读的,可以使用 DOM 对象的属性(如文档对象或 DOM 节点)进行访问。
有许多不同类型的 DOM 集合,包括:
- HTMLCollection 对象是 HTML 元素的数组状列表(集合)。
- NodeList 对象是从文档中提取的节点列表(集合)。
- HTML DOM 中的 Form 元素集合用于设置或返回表单元素内所有 <input> 元素的集合。
- HTML DOM forms 集合用于将 HTML 文档中存在的所有表单元素作为集合返回。
DOM 集合可用于执行各种任务,例如:
- 遍历 DOM
- 添加、删除或修改元素
- 更改元素的样式或内容
- 响应用户事件
本教程提供了对 DOM 集合的基本理解,特别是 HTMLCollection 对象。另一种类型的 DOM 集合将在下一章中讨论。
HTMLCollection 对象
HTMLCollection 对象是 HTML 元素的类似数组的数据结构。当您使用 getElementByTagName() 方法访问 DOM 元素时,它将返回一个 HTMLCollection 对象。
它与数组相同,但与数组不同。您可以遍历 HTML 集合并通过索引访问每个 HTML 元素,但可以将 pop()、push() 等方法用于 HTML 集合。
下面给出的方法和属性返回 HTML 集合。
- getElementByTagName() 方法
- getElementByClassname() 方法
- children 属性
HTMLCollection 对象的属性和方法
在这里,我们列出了可用于 HTML 集合的属性和方法。
方法 / 属性 | 描述 |
---|---|
length | 获取集合中 HTML 元素的计数。 |
item() | 从特定索引中获取元素。 |
namedItem() | 使用给定集合中的 id 获取 HTML 元素。 |
示例:遍历 Collection 元素
在下面的代码中,我们添加了数字列表。
在 JavaScript 中,我们使用 getElementByTagName() 方法访问所有 <li> 元素,该方法返回 HTML 集合。
之后,我们使用 for...of 循环遍历每个 HTML 元素。该集合包含对象格式的每个 HTML 元素。我们对集合的每个元素都使用 innnerHTML 属性来获取其 HTML 并将其打印在网页上。
<DOCTYPE html>
<html>
<body>
<ul>
<li> One </li>
<li> Two </li>
<li> Three </li>
</ul>
<div id = "output"> </div>
<script>
const output = document.getElementById('output');
let lists = document.getElementsByTagName('li');
for (let list of lists) {
output.innerHTML += "inner HTML - " + list.innerHTML + "<br>";
}
</script>
</body>
</html>
示例:获取集合的长度
在下面的代码中,我们使用集合的 'length' 属性来获取集合中的元素数。
<DOCTYPE html>
<html>
<body>
<div class = "text"> JavaScript </div>
<div class = "text"> HTML </div>
<div class = "text"> CSS </div>
<div class = "text"> CPP </div>
<div id = "output">The length of the collection is: </div>
<script>
const divs = document.getElementsByClassName('text');
document.getElementById('output').innerHTML += " " + divs.length;
</script>
</body>
</html>
示例:将 namedItem 方法与集合一起使用
在下面的代码中,我们使用 getElementByClassName() 方法访问所有 <div> 元素,返回 <div> 元素的集合。
之后,我们使用 namedItem() 方法访问 id 等于 'JavaScript' 的 <div> 元素。
<DOCTYPE html>
<html>
<body>
<div class = "text" id = "JavaScript"> JavaScript </div>
<div class = "text" id = "PHP"> PHP </div>
<div class = "text" id = "Python"> Python </div>
<div class = "text" id = "Java"> Java </div>
<div id = "output">The Element having id equal to JavaScript is: </div>
<script>
const output = document.getElementById('output');
const langs = document.getElementsByClassName('text');
output.innerHTML += langs.namedItem('JavaScript').innerHTML;
</script>
</body>
</html>
document Object 和 DOM Elements 的集合
document 对象包含一些内置集合,用于从文档中获取元素。
在下表中,我们列出了可以使用 document 对象访问的所有集合。
集合名称 | 描述 |
---|---|
document.links | 要从文档中获取所有 <a> 元素。 |
document.forms | 要从文档中获取所有 <form> 元素。 |
document.images | 从文档中获取所有 <img> 元素。 |
document.scripts | 要从文档中获取所有 <script> 元素。 |
document.styleSheets | 获取文档的所有 <link> 和 <style> 元素。 |
Element.children | 获取特定 HTML 元素的所有子元素的集合。 |
element.attributes | 获取给定元素的所有属性的集合。 |
element.options | 要从文档中获取所有 <options> 元素。 |
element.classList | 获取特定 DOM 元素的类名集合。 |