HTML5 新增属性

news2024/12/23 11:29:21

文章目录

  • HTML5 新增属性
    • 公共属性
      • hidden属性
      • draggable属性
      • contenteditable属性
      • data-*属性
    • input元素新增属性
      • autocomplete属性
      • autofocus属性
      • placeholder属性
      • required属性
      • pattern属性
    • form元素新增属性
      • novalidate属性

HTML5 新增属性

公共属性

HTML5新增的常见公共属性有4个:

  • hidden
  • draggable
  • contenteditable
  • data-*

hidden属性

可以使用hidden属性来显示或隐藏某一个元素。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>
	<body>
		<div hidden>hello1</div>
		<div>hello2</div>
	</body>
</html>

draggable属性

可以使用draggable属性来定义某一个元素是否可以被拖动。

语法

<element draggable="true或false" ></element>

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style type="text/css">
			p {
				display: inline-block;
				padding: 10px;
				border: 1px dashed gray;
				background-color: #F1F1F1;
			}
		</style>
	</head>
	<body>
		<p draggable="true">这是一段可以被拖动的文字</p>
	</body>
</html>

contenteditable属性

可以使用contenteditable属性来定义某个元素的内容是否可以被编辑。

语法

<element contenteditable="true或false" ></element>

使用

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <style type="text/css">
            p {
                display: inline-block;
                padding: 10px;
                border: 1px dashed gray;
                background-color: #F1F1F1;
            }
        </style>
    </head>
    <body>
        <p contenteditable="false">这是一段可以被编辑的文字</p>
    </body>
</html>

data-*属性

可以使用data-*属性来为元素实现自定义属性。

语法

<element data-*="属性值" ></element>

说明

“data-”只是一个前缀,后面接一个小写的字符串,例如data-color、data-article-title等。

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script>
			window.onload = function() {
				var oP = document.getElementsByTagName("p")[0];
				oP.style.color = oP.dataset.color;
			}
		</script>
	</head>
	<body>
		<p data-color="red">你的努力程度之低,根本轮不到拼天赋。</p>
	</body>
</html>

说明:可以使用DOM操作中的obj.dataset.xxx来获取data-*属性的值。

注意:

  • 如果是data-xxx格式,则应该写成obj.dataset.xxx。例如data-color应该写成obj.dataset.color,而data-content应该写成obj.dataset.content。
  • 如果是data-xxx-yyy格式,则应该写成obj.dataset.xxxYyy。例如data-fruit-price应该写成obj.dataset.fruitPrice,而data-animal-type应该写成obj.dataset.animalType。

input元素新增属性

为了提高开发效率,以及达到更好的用户体验,HTML5为input元素新增了大量的属性:

  • autocomplete
  • autofocus
  • placeholder
  • required
  • pattern

autocomplete属性

可以使用autocomplete属性来实现文本框的自动提示功能。

语法

<input type="text" autocomplete="on或off" />

说明

autocomplete属性有两个属性值:on和off。

on表示开启,off表示关闭。

autocomplete属性一般都是结合datalist元素来实现自动提示功能。

autocomplete属性适用于所有文本框型的input元素,包括text、password、email、url、tel等。

使用

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <form method="post">
            <input type="text" autocomplete="on" list="tips" />
            <datalist id="tips">
                <option value="HTML"></option>
                <option value="CSS"></option>
                <option value="JavaScript"></option>
                <option value="Vue.js"></option>
                <option value="React.js"></option>
                <option value="Angular.js"></option>
            </datalist>
        </form>
    </body>
</html>

在这里插入图片描述

autofocus属性

默认情况下,文本框是不会自动获取焦点的,必须点击文本框才会获取。

在HTML5之前,都是使用JavaScript的focus()方法来实现的,这种方式相对来说比较麻烦。在HTML5中,我们可以使用autofocus属性来实现文本框自动获取焦点。

语法

<input type="text" autofocus="autofocus" />

使用

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <form method="post">
            <input type="text" autofocus />
        </form>
    </body>
</html>

placeholder属性

可以使用placeholder属性为文本框添加提示内容。

语法

<input type="text" placeholder="提示内容" />

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>
	<body>
		<form method="post">
			<input type="text" placeholder="请输入账号" /><br />
			<input type="text" placeholder="请输入密码" />
		</form>
	</body>
</html>

在这里插入图片描述

required属性

可以使用required属性来定义文本框输入内容不能为空。如果文本框为空,则不允许提交。

语法

<input type="text" required="required" />

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>
	<body>
		<form method="post">
			<input type="text" required /><br />
			<input type="submit" value="提交" />
		</form>
	</body>
</html>

在这里插入图片描述

pattern属性

可以使用pattern属性来为文本框添加验证功能。

语法

<input type="text" pattern="正则表达式" />

说明

email、url、tel这3个类型的input元素,本质上都内置了pattern属性,因此它们会自动进行相关匹配验证。

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>
	<body>
		<form method="post">
			<input type="text" pattern="^[a-zA-Z]\w{4,9}$" /><br />
			<input type="submit" value="提交" />
		</form>
	</body>
</html>

在这里插入图片描述

说明:pattern="^[a-zA-Z]\w{4,9}$表示文本框的内容必须符合“以字母开头,包含字母、数字或下划线,并且长度在5~10之间”的规则。

form元素新增属性

novalidate属性

可以使用novalidate属性来禁用form元素的所有文本框内置的验证功能,使用JavaScript来创建更为复杂且健全的验证,这时就要覆盖原有的验证机制了。

语法

<form novalidate="novalidate">

</form>

说明

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script>
			window.onload = function() {
				var email = document.getElementById("email");
				var tel = document.getElementById("tel");
				var errorEmail = document.getElementById("errorEmail");
				var errorTel = document.getElementById("errorTel");
				var btn = document.getElementById("btn");
				var oForm = document.getElementsByTagName("form")[0];

				var regEmail = /^\w+@[a-zA-Z0-9]{2,10}(?:\.[a-z]{2,4}){1,3}$/;
				var regTel = /^1([358][0-9]|4[579]|66|7[0135678]|9[89])[0-9]{8}$/;

				btn.onclick = function() {
					if (!regEmail.test(email.value)) {
						errorEmail.innerText = "请输入正确的邮箱地址";
						return;
					} else {
						errorEmail.innerText = "";
					}
					if (!regTel.test(tel.value)) {
						errorTel.innerText = "请输入正确的手机号码";
						return;
					} else {
						errorTel.innerText = "";
					}

					//通过验证
					oForm.submit();
				}
			}
		</script>
	</head>
	<body>
		<form method="post" novalidate>
			<p>
				<label>电子邮箱:<input id="email" type="email" value="abced@qq.com" /></label><span id="errorEmail"></span>
			</p>
			<p>
				<label>手机号码:<input id="tel" type="tel" value="13745617896" /></label><span id="errorTel"></span>
			</p>
			<input id="btn" type="button" value="提交" />
		</form>
	</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/115814.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在今年的数字生态大会上,云原生数据库前进了一大步

云计算时代&#xff0c;数据库上云已成为产业数字化转型的重要动力。近期&#xff0c;在2022腾讯全球数字生态大会云原生数据库技术探索专场上&#xff0c;腾讯云分享了在云原生数据库领域的技术演进与探索&#xff0c;并就其在不同行业场景中的最佳实践进行了详细讲解&#xf…

【C++初阶】stack、queue和priority_queue的模拟实现

文章目录简介stackqueuepriority_queuestack的模拟实现成员变量emptysizetoppushpopqueue的模拟实现成员变量emptysizetoppushpoppriority_queue的模拟实现成员变量emptysizetoppushpop仿函数完整版代码stack.hqueue.hpriority_queue.htest.cpp简介 stack、queue和priority_qu…

四、SpringBoot Starter组件详解

starter组件实际上就是能够实现自动装配的jar包。 1.starter组件创建流程 假设我现在要集成redis,要拿到redisTemplate对象,怎么做呢? 1.引springboot包; 2.创建RedisTemplate类; 3.写配置类; 4.创建spring.factories文件; 5.打成jar包。 示例如下: 1.创建maven项目…

我的世界MOD制作(2)|| 你的第一个MOD

正文&#xff1a;I. 开发环境配置 我们需要一个带mixin的forge开发环境&#xff0c;这一步相当折磨人&#xff0c;网络不好的话半天时间都得砸这上面&#xff0c;但是不要灰心&#xff0c;过了这个坎接下来基本是顺风顺水。 1. 下载资源 & 修改build.gradle 首先去forge官网…

从三万英尺看全链路灰度

作者&#xff1a;卜比 全链路灰度是微服务领域&#xff0c;很实用的企业级场景下的技术能力。 从本期开始&#xff0c;我们将通过《全链路灰度&#xff1a;自顶向下的方法》的系列文章&#xff0c;由远及近的剖析全链路灰度全貌&#xff0c;系列文章分为 4 篇&#xff1a; 《…

无需数据库的笔记flatnotes

本文完成于 10 月底&#xff1b; 什么是 flatnotes&#xff1f; flatnotes 是一个自托管的、无数据库的笔记 Web 应用程序&#xff0c;它利用文件夹存储 Markdown 文件。 官方演示站点&#xff1a;https://demo.flatnotes.io/ 前言 本文介绍的软件很简单&#xff0c;但是有两…

保姆级教学——Python+Pygame怎么实现吃豆豆游戏

耽搁十几天的时间&#xff0c;我顺利的从阳转阴啦&#xff0c; 以后的日子一切恢复正常&#xff0c;好好工作&#xff0c;积极分享。希望在座的小伙伴阳了的全部健康转阴&#xff0c;没阳的全部不会变阳&#xff0c;新的一年&#xff0c;一切顺顺利利。 不知道最近大家学习得怎…

前端大屏常用的几种适配方案

方 案实现方式优点缺点vm vh1.按照设计稿的尺寸&#xff0c;将px按比例计算转为vw和vh1.可以动态计算图表的宽高&#xff0c;字体等&#xff0c;灵活性较高 2.当屏幕比例跟 ui 稿不一致时&#xff0c;不会出现两边留白情况1.每个图表都需要单独做字体、间距、位移的适配&#x…

磨金石教育摄影技能干货分享|看看大师们如何把“树”拍成艺术品

树&#xff0c;可以说是我们生活中最为常见的物种了。 在不同的地域&#xff0c;不同的气候环境下&#xff0c;生长着不同的树种。 北方的白桦树、杨树、梅花&#xff1b;南方的凤凰花、榕树、梧桐等等。 无论哪个地方的树&#xff0c;都有别样的姿态。 1、相机作画 白雪没有覆…

python实验实践【2】深度学习的python包

python包的管理是使用python进行实验过程中最为重要的一环&#xff0c;很多时候运行他人代码失败的原因是没能按照对方的要求配置python包库。本篇博客重点介绍深度学习场景中python包的管理。 目录python包版本选择python包安装python包版本选择 使用pytorch进行深度学习训练…

AndroidRN的混合集成 下载不了RN的依赖可以看看 好使

一、混合开发 App 混合开发&#xff0c;指的是一个 App 部分功能用 Native 构建&#xff0c;其他功能使用跨端框架进行构建&#xff0c;最常见的场景是&#xff0c;Native 作为一个可工程&#xff0c;其实业务开发使用垮端框架进行开发。目前&#xff0c;比较流行的跨端框架有…

ORB-SLAM3算法学习—双目和单目初始化

0总述 ORB-SLAM3算法中视觉的初始化依旧放在tracking线程中&#xff0c;因此在tracking中没有为imu模式设置单独的初始化函数&#xff0c;而IMU的初始化是在localMapping中实现的。 很有用的参考链接&#xff1a;https://cloud.tencent.com/developer/article/1761043 1双目…

Python 基础教程(1)

1.翻转字符串 def reverseWords(input):# 通过空格将字符串分隔符&#xff0c;把各个单词分隔为列表inputWords input.split(" ")# 翻转字符串# 假设列表 list [1,2,3,4], # list[0]1, list[1]2 &#xff0c;而 -1 表示最后一个元素 list[-1]4 ( 与 list[3]4 一样…

C++ 使用CLion + LibTorch 调用Python训练的PyTorch模型-MNIST

C++ 使用CLion + LibTorch 调用Python训练的PyTorch模型-MNIST 安装LibTorch 进入pytorch官网地址,选则LibTorch版本将LibTorch安装包解压到libtorch-path目录中,libtorch-path是自定义的LibTorch安装目录。

【SpringCloud Alibaba】Sentinel持久化结合Nacos

在前面学习完Sentinel的流控规则以及Nacos时&#xff0c;就是最后的Sentinel持久化了。需要持久化的原因是因为每次启动Sentinel都会使之前配置的规则就清空了&#xff0c;这样每次都要再去设定规则显得非常的麻烦。 思路就是&#xff1a;将流控规则配置进Nacos服务注册中心中&…

【实时数仓】DWS层之关键词主题表(FlinkSQL)、数据可视化接口、Sugar数据大屏、总成交金额接口实现

文章目录一 DWS层-关键词主题表(FlinkSQL)1 过滤数据2 利用UDTF进行拆分&#xff08;1&#xff09;拆分结果&#xff08;2&#xff09;Join 表函数 (UDTF)&#xff08;3&#xff09;代码3 分组、开窗、聚合计算4 转换为流并写入ClickHouse&#xff08;1&#xff09;在ClickHous…

大数据网站攻击实时项目架构

随着互联网的流行&#xff0c;网站安全问题就日益突出&#xff0c;但绝大多数的网站开发与建设公司只考虑正常用户的稳定使用&#xff0c;而对于网站安全方面了解甚少&#xff0c;发现网站安全存在问题和漏洞&#xff0c;其修补方式只能停留在页面代码的删除或者是恢复网站备份…

SpringBoot系列之SpringBoot启动流程详解

文章目录前言一、SpringBoot流程分析-初始化二、SpringBoot流程分析-run总结前言 SpringBoot的启动流程在我们面试的时候会经常被问&#xff0c;接下来我们根据源码来分析了解下SpringBoot是怎么启动的 一、SpringBoot流程分析-初始化 首先对SpringBoot主启动类进行debug&…

通用企业智能制造ERP源码 制造业通用ERP系统源码 工厂ERP源码C# web ASP.NET 源码

管理控制台 一&#xff0c;基础档案 客户档案、 供应商档案 、外协档案 、 物料档案、 产品档案 产品BOM 、 模具档案、 工价档案 、 人员档案 二&#xff0c;样品开发 产品开发 样品登记 产品开发&#xff1a;开发编号、设计来源、系列号、中英文设计名称、最后期限、…

Nginx由浅入深

一、Nginx简介 1、Nginx 概述 Nginx (“engine x”) 是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少&#xff0c;并发能力强&#xff0c;事实上nginx的并发能力确实在同类型的网页服务器中表现较好&#xff0c;中国大陆使用nginx网站用户有&#xff1a;百度、京东、新…