HTML DOM(一)——简介,元素,表单

简介: 通过这个对象模型,JavaScript 获得创建动态 HTML 的所有力量JavaScript 能改变页面中的所有 HTML 元素JavaScript 能改变页面中的所有 HTML 属性JavaScript 能改变页面中的所有 CSS 样式JavaScript 能删除已有的 HTML 元素和属性JavaScript 能添加新的 HTML 元素和属性JavaScript 能对页面中所有已有的 HTML 事件作出反应JavaScript 能在页面中创建新的 HTML 事件

一、简介

1.对象的 HTML DOM 树

在这里插入图片描述

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

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

2.什么是 HTML DOM

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

  • 作为对象的 HTML 元素
  • 所有 HTML 元素的属性
  • 访问所有 HTML 元素的方法
  • 所有 HTML 元素的事件

# 二、元素 `1.通过 id 查找 HTML 元素` DOM 中查找 HTML 元素最简单的方法是,使用元素的 id。 本例查找 id="intro" 的元素: ```javascript 例: var myElement = document.getElementById("intro"); ``` `2.通过标签名查找 HTML 元素` 查找所有 `

` 元素: ```javascript var x = document.getElementsByTagName("p"); ``` `3.通过类名查找 HTML 元素` 找到拥有相同类名的所有 HTML 元素,请使用 getElementsByClassName()。 本例返回包含 class="intro" 的所有元素的列表: ```javascript var x = document.getElementsByClassName("intro"); ``` `4.通过 CSS 选择器查找 HTML 元素` 查找匹配指定 CSS 选择器(`id、类名、类型、属性、属性值等等`)的所有 HTML 元素,请使用 querySelectorAll() 方法。 ```javascript var x = document.querySelectorAll("p.intro"); ``` `5.通过 HTML 对象选择器查找 HTML 对象` 本例查找 id="frm1" 的 form 元素,在 forms 集合中,然后显示所有元素值: ```javascript var x = document.forms["frm1"]; var text = ""; var i; for (i = 0; i < x.length; i++) { text += x.elements[i].value + "
"; } document.getElementById("demo").innerHTML = text; ```


# 三、表单 `1、HTML 表单验证` 表单域 (fname) 为空,该函数会提示一条消息,并返回 false,以防止表单被提交: **例:** ```javascript function validateForm() { let x = document.forms["myForm"]["fname"].value; if (x == "") { alert("Name must be filled out"); return false; } } ``` `2.JavaScript 可以验证数字输入` JavaScript 通常用于验证数字输入: 请输入 1 到 10 之间的数字: ![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/a4bbea97fa4540a090535431dd332365.png) ```javascript function myFunction() { // 获取 id = "numb" 的输入字段的值 let x = document.getElementById("numb").value; // 如果 x 不是数字或小于 1 或大于 10 let text; if (isNaN(x) || x < 1 || x > 10) { text = "输入无效"; } else { text = "输入没问题"; } document.getElementById("demo").innerHTML = text; } ``` `3.自动 HTML 表单验证` HTML 表单验证可以由浏览器自动执行: 如果表单字段 (fname) 为空,则 required 属性会阻止提交此表单: ```javascript ``` `4.数据验证` 数据验证是确保用户输入干净、正确和有用的过程。 大多数情况下,数据验证的目的是确保用户输入正确。 > 服务器端验证由 Web 服务器在输入发送到服务器后执行。 > > 在将输入发送到 Web 服务器之前,客户端验证由 Web 浏览器执行。 `5.HTML 约束验证` HTML 约束验证基于: - 约束验证 HTML input 属性 - 约束验证 CSS 伪选择器 - 约束验证 DOM 属性和方法 约束验证 HTML input 属性 | 属性 | 描述 | | :------- | :------------------------ | | disabled | 规定应禁用 input 元素。 | | max | 规定 input 元素的最大值。 | | min | 规定 input 元素的最小值。 | | pattern | 规定 input 元素的值模式。 | | required | 规定 input 字段必填。 | | type | 规定 input 元素的类型。 | 约束验证 CSS 伪选择器 | 选择器 | 描述 | | :-------- | :---------------------------------------- | | :disabled | 选择规定了 "disabled" 属性的 input 元素。 | | :invalid | 选择有无效值的 input 元素。 | | :optional | 选择未规定 "required" 属性的 input 元素。 | | :required | 选择规定了 "required" 属性的 input 元素。 | | :valid | 选择具有有效值的 input 元素。 |
目录
相关文章
|
7月前
|
JavaScript 前端开发 开发者
Vue 动态添加 HTML 元素组件封装使用方法及长尾关键词优化指南
本文详细介绍了Vue中动态添加HTML元素的使用方法与组件封装技巧。内容涵盖条件渲染(v-if/v-show)、列表渲染(v-for)、动态组件(:is)、手动操作DOM及动态创建组件实例等核心方法。同时,通过动态表单、弹窗组件和动态加载组件的封装示例,展示如何提升代码复用性和可维护性。最后,总结性能优化策略与注意事项,如批量更新DOM、懒加载大型组件及避免直接操作DOM等,帮助开发者在实际项目中灵活应用Vue动态元素管理功能。
205 15
|
3月前
|
XML 前端开发 C#
C#编程实践:解析HTML文档并执行元素匹配
通过上述步骤,可以在C#中有效地解析HTML文档并执行元素匹配。HtmlAgilityPack提供了一个强大而灵活的工具集,可以处理各种HTML解析任务。
214 19
|
6月前
|
移动开发 前端开发 JavaScript
HTML表单验证:确认input元素输入为具有特定整数和小数位数的数值。
将上述JavaScript代码与HTML一同使用,便可以确保用户输入的数值符合特定的格式要求。特别要注意,在实际的生产环境中,仅仅依靠前端验证是不够的。为了安全起见,后端也应该实施相应的验证措施,以防止不匹配格式的数据通过其他手段提交到服务器。
375 74
|
7月前
|
JavaScript 前端开发 开发者
Vue 动态添加 HTML 元素组件封装使用方法及长尾关键词优化指南
本文详细介绍了Vue中动态添加HTML元素的多种方法与组件封装技巧,涵盖条件渲染(v-if/v-show)、列表渲染(v-for)、动态组件(:is)、手动DOM操作及动态创建组件实例等内容。同时提供了性能优化建议,如批量更新DOM、使用v-show代替v-if以及懒加载大型组件等。通过合理封装组件,可提高代码复用性和维护性。文中还附有具体示例代码,帮助开发者更好地理解和应用相关技术。适用于前端开发人员学习和实践Vue动态元素处理与组件设计。
177 19
|
7月前
|
缓存 JavaScript 前端开发
Vue 项目中动态添加 HTML 元素的方法与实践
本文探讨了 Vue 中动态添加 HTML 元素的多种技术方案,包括条件渲染(v-if/v-show)、动态组件(component :is)、手动挂载($mount)及 Vuex 状态管理等方法。通过实例分析,如动态表单生成器与全局模态框服务,展示了这些方案在实际开发中的应用。同时提供了性能优化建议和注意事项,帮助开发者根据需求选择最佳方式,在保持 Vue 响应式特性的同时实现灵活交互。附带代码示例,便于理解和实践。
199 2
|
移动开发 HTML5
HTML5 表单属性3
`&lt;input&gt;` 标签的 `formaction`、`formenctype` 和 `formmethod` 属性分别用于指定表单提交的 URL 地址、数据编码类型和提交方法,这些属性可覆盖 `&lt;form&gt;` 标签中的相应属性,并且主要适用于 `type=&quot;submit&quot;` 和 `type=&quot;image&quot;` 的输入类型。
|
移动开发 JavaScript 前端开发
HTML5 表单属性7
`pattern` 属性使用正则表达式验证 `&lt;input&gt;` 元素的值,适用于 `text`, `search`, `url`, `tel`, `email`, 和 `password` 类型。
|
移动开发 UED HTML5
HTML5 表单属性6
`min`、`max` 和 `step` 属性用于限制 `&lt;input&gt;` 标签中的数值或日期范围。例如,可以设置日期选择器的最早和最晚日期,或限制数字输入框的值范围。`multiple` 属性允许在 `&lt;input&gt;` 中选择多个值,适用于邮箱和文件类型。这些属性增强了表单控件的功能性和用户体验。
|
移动开发 HTML5
HTML5 表单属性4
`formnovalidate` 属性是一个布尔属性,用于 `&lt;input&gt;` 元素,指示该输入在表单提交时不需验证,可覆盖 `&lt;form&gt;` 元素的 `novalidate` 属性,常与 `type=&quot;submit&quot;` 一起使用。示例中展示了如何通过两个提交按钮(一个使用验证,另一个不使用)实现不同的表单提交方式。