【JavaWeb】知识总结Ⅳ(JavaScript中的DOM)

简介: JavaScript 能改变页面中的所有 HTML 元素JavaScript 能改变页面中的所有 HTML 属性JavaScript 能改变页面中的所有 CSS 样式JavaScript 能删除已有的 HTML 元素和属性JavaScript 能添加新的 HTML 元素和属性JavaScript 能对页面中所有已有的 HTML 事件作出反应JavaScript 能在页面中创建新的 HTML 事件

目录


一. DOM介绍


✨HTML DOM(文档对象模型)


二. HTML DOM


二. HTML DOM 表单


✨JavaScript 表单验证


✨自动 HTML 表单验证


✨数据验证


一. DOM介绍

✨HTML DOM(文档对象模型)

当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。


HTML DOM 模型被结构化为对象树:

对象的 HTML DOM 树


通过这个对象模型,JavaScript 获得创建动态 HTML 的所有力量:


JavaScript 能改变页面中的所有 HTML 元素

JavaScript 能改变页面中的所有 HTML 属性

JavaScript 能改变页面中的所有 CSS 样式

JavaScript 能删除已有的 HTML 元素和属性

JavaScript 能添加新的 HTML 元素和属性

JavaScript 能对页面中所有已有的 HTML 事件作出反应

JavaScript 能在页面中创建新的 HTML 事件

总结为下图:


DOM 是一项 W3C (World Wide Web Consortium) 标准。


DOM 定义了访问文档的标准:


“W3C 文档对象模型(DOM)是中立于平台和语言的接口,它允许程序和脚本动态地访问、更新文档的内容、结构和样式。”

W3C DOM 标准被分为 3 个不同的部分:



HTML DOM 是 HTML 的标准对象模型和编程接口。它定义了:


作为对象的 HTML 元素

所有 HTML 元素的属性

访问所有 HTML 元素的方法

所有 HTML 元素的事件

换言之:HTML DOM 是关于如何获取、更改、添加或删除 HTML 元素的标准。


学习完之后你将掌握如下技术:


如何改变 HTML 元素的内容

如何改变 HTML 元素的样式(CSS)

如何对 HTML DOM 事件作出反应

如何添加和删除 HTML 元素

二. HTML DOM

✨ HTML DOM 文档对象是您的网页中所有其他对象的拥有者。



文档对象代表您的网页。


如果您希望访问 HTML 页面中的任何元素,那么您总是从访问 document 对象开始。


DOM(文档对象模型)是一种表示网页文档结构的编程接口。它提供了一种访问和操作HTML、XML和SVG文档元素的方法。


DOM元素是HTML、XML或SVG文档中的一个节点。它可以是任何HTML标签、XML元素或SVG图形对象。每个元素都有特定的属性,如id、class和style,可以通过DOM接口进行访问和操作。


DOM表单是HTML表单中的一组元素,用于收集用户输入的数据。常见的表单元素包括文本框、复选框、单选按钮和下拉列表框。使用DOM方法,可以获取、设置和验证表单元素的值,并在提交表单时处理用户输入。


DOM方法是指用于操作DOM元素和文档的JavaScript函数。这些方法包括获取元素、修改元素样式、添加、删除和替换元素,以及响应用户事件等。通过调用这些方法,可以实现对网页内容和交互的动态控制。


DOM文档是整个HTML、XML或SVG文档的根节点,代表整个文档结构。通过DOM文档对象,可以访问和操作整个文档的元素、属性和内容。DOM提供了一系列的API,使开发者可以轻松地遍历和操作文档树的节点。


HTML DOM 允许 JavaScript 改变 HTML 元素的内容。


改变 HTML 输出流

<!DOCTYPE html>
<html>
<body>
<script>
document.write(Date());
</script>
</body>
</html>


改变 HTML 内容


修改 HTML 文档内容最简单的方法是,使用 innerHTML 属性。


如需修改 HTML 元素的内容,请使用此语法:


document.getElementById(id).innerHTML = new text

本例修改了 <p> 元素的内容:


改变属性的值


如需修改 HTML 属性的值,请使用如下语法:


document.getElementById(id).attribute = new value

本例修改了 <img> 元素的 src 属性的值:



二. HTML DOM 表单

HTML DOM(Document Object Model)表单是通过JavaScript与HTML表单元素进行交互的机制。它提供了一组方法和属性,用于获取、设置和操作HTML表单元素的值和状态。


通过HTML DOM表单,我们可以实现以下操作:


获取表单元素:使用getElementById()、getElementsByName()、getElementsByTagName()等方法获取表单中的具体元素对象。


获取或设置元素值:使用value属性可以获取或设置文本输入框、文本域、下拉列表框等元素的值。


操作复选框和单选按钮:使用checked属性可以获取或设置复选框和单选按钮的选中状态。


操作下拉列表框:使用selectedIndex属性可以获取或设置下拉列表框当前选中项的索引,使用options属性可以访问下拉列表框的所有选项。


提交表单:使用submit()方法提交表单,将表单数据发送到服务器。


验证表单数据:使用checkValidity()方法可以检查表单元素的有效性,使用setCustomValidity()方法可以设置自定义的验证错误消息。


监听表单事件:使用addEventListener()方法可以为表单元素添加事件监听器,以便在用户与表单元素交互时执行相应的操作。


通过HTML DOM表单,我们可以实现表单的动态控制、数据验证和提交等功能,从而实现与用户的交互和数据处理。


✨JavaScript 表单验证

HTML 表单验证可以通过 JavaScript 完成。


如果表单域 (fname) 为空,该函数会提示一条消息,并返回 false,以防止表单被提交:


JavaScript 实例


function validateForm() {
  let x = document.forms["myForm"]["fname"].value;
  if (x == "") {
    alert("Name must be filled out");
    return false;
  }
}

提交表单时可以调用该函数:


HTML 表单实例


<form name="myForm" action="/action_page.php" onsubmit="return validateForm()" method="post">
Name: <input type="text" name="fname">
<input type="submit" value="Submit">
</form>

✨自动 HTML 表单验证

HTML 表单验证可以由浏览器自动执行:


如果表单字段 (fname) 为空,则 required 属性会阻止提交此表单:


HTML 表单实例

<form action="/action_page.php" method="post">
  <input type="text" name="fname" required>
  <input type="submit" value="Submit">
</form>


✨数据验证

数据验证是确保用户输入干净、正确和有用的过程。


典型的验证任务是:


用户是否填写了所有必填字段?

用户是否输入了有效日期?

用户是否在数字字段中输入了文本?

大多数情况下,数据验证的目的是确保用户输入正确。


验证可以通过许多不同的方法定义,并以许多不同的方式部署。


服务器端验证由 Web 服务器在输入发送到服务器后执行。


在将输入发送到 Web 服务器之前,客户端验证由 Web 浏览器执行。


相关文章
|
9月前
|
JavaScript 前端开发 Go
CSS 与 JS 对 DOM 解析和渲染的影响
【10月更文挑战第16天】CSS 和 JS 会在一定程度上影响 DOM 解析和渲染,了解它们之间的相互作用以及采取适当的优化措施是非常重要的。通过合理的布局和加载策略,可以提高网页的性能和用户体验,确保页面能够快速、流畅地呈现给用户。在实际开发中,要根据具体情况进行权衡和调整,以达到最佳的效果。
257 57
|
4月前
|
JavaScript 前端开发 API
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
5月前
|
JavaScript 前端开发
JavaWeb JavaScript ③ JS的流程控制和函数
通过本文的详细介绍,您可以深入理解JavaScript的流程控制和函数的使用,进而编写出高效、可维护的代码。
122 32
|
8月前
|
JavaScript 前端开发 索引
js中DOM的基础方法
【10月更文挑战第31天】这些DOM基础方法是操作网页文档结构和实现交互效果的重要工具,通过它们可以动态地改变页面的内容、样式和行为,为用户提供丰富的交互体验。
|
8月前
|
缓存 JavaScript 前端开发
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
244 5
|
8月前
|
JavaScript 前端开发 开发者
.js的dom元素操作
【10月更文挑战第29天】通过灵活运用这些 DOM 元素操作方法,JavaScript 可以实现丰富的网页交互效果,如动态更新页面内容、响应用户操作、创建和删除页面元素等。在实际开发中,开发者可以根据具体的需求和场景,选择合适的 DOM 元素操作方法来实现所需的功能,为用户提供更加流畅和动态的网页体验。
|
9月前
|
移动开发 JavaScript 前端开发
原生js如何获取dom元素的自定义属性
原生js如何获取dom元素的自定义属性
223 4
|
10月前
|
JavaScript 前端开发 索引
JavaScript HTML DOM 节点列表
JavaScript HTML DOM 节点列表
69 5
|
10月前
|
JavaScript 前端开发 索引
你可能没有听说过 js中的 DOM操作还有这个: HTMLCollection 和 NodeList
该文章详细解释了JavaScript中HTMLCollection和NodeList这两种DOM集合类型的特性、使用方法及其区别,并通过实例代码展示了如何操作这两种集合来选取和遍历DOM元素。
|
10月前
|
JavaScript 前端开发 索引
JavaScript HTML DOM 集合(Collection)
JavaScript HTML DOM 集合(Collection)
91 4

热门文章

最新文章