分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

HTML5(二)——特殊符号、新增属性、表单重写属性、

发布时间:2023-09-06 02:09责任编辑:林大明关键词:HTML

一、HTML5 特殊符号

  1. &nbsp :空格 

  2. &gt:大于号 > 

  3.  &It :小于号 < 

  4.  &quot :引号” 

  5.  &copy:”版权符号 @ 

二、HTML 新增属性

1、contentEditable

规定是否可编辑元素的内容
属性值:
true -----可以编辑元素的内容
false -----无法编辑元素的内容
inherit -----继承父元素的contenteditable属性
当为空字符串时,效果和true一致。
当一个元素的contenteditable状态为true(contenteditable属性为空字符串,或为true,或为inherit且其父元素状态为true)时,意味着该元素是可编辑的。否则,该元素不可编辑。

document.body.contentEditable=true; 可以修改已发布网站

<!DOCTYPE html><html> ???<head> ???????<meta charset="UTF-8"> ???????<title>contentEditable属性</title> ???</head> ???<body> ???????<h2>contentEditable属性</h2> ???????<div contenteditable="true"> ???????????Hello contentEditable ???????</div> ???</body></html>
View Code

结果:

2、hidden

hidden属性用于隐藏该元素。一旦使用了此属性,则该元素就不会在浏览器中被显示
2个布尔值
true 规定元素是可见。
false 规定元素是不可见。

<!DOCTYPE html><html> ???<head> ???????<meta charset="UTF-8"> ???????<title>隐藏元素(hidden)</title> ???????<style type="text/css"> ???????????#D{ ???????????????width: 100px; ???????????????height: 100px; ???????????????background-color: red; ???????????} ???????</style> ???</head> ???<body> ???????????????<div id="D" style="visibility: collapse;"> ???????????????????</div> ???????<!--隐藏元素--> ???????????????<!--方法一:--> ???????<!--隐藏:display:none--> ???????<span style="display: none;">span1</span> ???????<!--显示:display: initial--> ???????<span style="display: initial;">span2</span> ???????????????<!--方法二--> ???????<p> ???????????<!--隐藏:visibility: hidden--> ???????????<span style="visibility: hidden;">span3</span> ???????????<!--显示:visibility: visible--> ???????????<span style="visibility: visible;">span4</span> ???????</p> ???????????????<!--方法三--> ???????<p> ???????????<span hidden="hidden">span5</span> ???????????<span>span6</span> ???????</p> ???</body></html>
View Code

结果:

为了兼容一些不支持该属性的浏览器(IE8),可以在CSS中加如下样式:

*[hidden]{
   display: none;
}

var div1=document.querySelector("body #div1");
div1.innerHTML+=" +++";

3、draggable

规定元素是否可拖拽
3个枚举值
true 规定元素是可拖动的。
false 规定元素是不可拖动的。
auto 使用浏览器的默认特性。

<!DOCTYPE html><html> ???<head> ???????<meta charset="UTF-8"> ???????<title>拖拽元素(draggable)</title> ???????????????<style> ???????????.box { ???????????????width: 200px; ???????????????height: 200px; ???????????????display: inline-block; ???????????????font-size: 0; ???????????????margin: 0; ???????????????padding: 0; ???????????} ???????????????????????#div2 { ???????????????width: 400px; ???????????????height: 400px; ???????????????background: lightseagreen; ???????????????font-size: 0; ???????????} ???????</style> ???</head> ???<body> ???????<div class="box" draggable="true" style="background: lightcoral"></div> ???????<div class="box" draggable="true" style="background: orangered;"></div> ???????<div class="box" draggable="true" style="background: #4169E1;"></div> ???????<div class="box" draggable="true" style="background: limegreen;"></div> ???????????????<div id="div2"></div> ???????????????<script src="../js/jquery-1.11.3.js" type="text/javascript" charset="utf-8"></script> ???????<script type="text/javascript"> ???????????var boxes = document.querySelectorAll(".box"); ???????????var div2 = document.getElementById("div2"); ???????????var temp; ???????????for(var i = 0; i < boxes.length; i++) { ???????????????var box = boxes[i]; ???????????????box.ondragstart = function(e) { ???????????????????temp = e.srcElement; ???????????????????console.log("ondragstart开始拖动"); ???????????????} ???????????????box.ondrag = function(e) { ???????????????????console.log("ondrag拖动中"); ???????????????} ???????????????box.ondragend = function(e) { ???????????????????console.log("ondragend拖动结束"); ???????????????} ???????????} ???????????div2.ondragover = function(e) { ???????????????e.preventDefault(); ???????????} ???????????div2.ondrop = function(e) { ???????????????div2.appendChild(temp.cloneNode(true)); ???????????} ???????</script> ???</body></html>
View Code

结果:

4、data-*

data-*属性能让用户自定义属性的方式来存储数据
<span data-order-amount=100></span>
取值:
getAttribute(‘data-order-amount‘)
dataset.orderAmount
jQuery中的data()方法同样可以访问

使用jQuery与javascript添加与获取data属性示例:

<!DOCTYPE html><html> ???<head> ???????<meta charset="UTF-8"> ???????<title>data-*</title> ???????<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> ???</head> ???<body> ???????<div id="div1" data-stu-age="100" ?data-student=‘{"name":"tome","age":19}‘>学生:Tom</div> ???????<button onclick="addData()">添加数据</button> ???????<button onclick="getData()">获取数据</button> ???????<script type="text/javascript"> ???????????????????????var div1=document.getElementById("div1"); ???????????function addData() { ???????????????div1.setAttribute("data-stu-age",101); ?//方法1 ???????????????div1.dataset.stuAge=102; ???????????????//方法2 ???????????????$("#div1").data("stuAge",103); ?????????//方法3 ???????????} ???????????function getData() { ???????????????console.log(div1.getAttribute("data-stu-age")); ????//方法1 ???????????????console.log(div1.dataset); ?????????????????????????//方法2 ???????????????console.log(JSON.parse(div1.dataset.student).age); ???????????????console.log(div1.dataset.stuAge); ????????????????console.log($("#div1").data("stuAge")); ????????????//方法3 ???????????} ???????</script> ???</body></html>
View Code

结果:

5、placeholder占位属性

这是一个很实用的属性,免去了用JS去实现点击清除表单初始值.浏览器支持也还不错,除了Firefox,其他标准浏览器都能很好的支持

这是一个很实用的属性,免去了用JS去实现点击清除表单初始值.浏览器支持也还不错,除了Firefox,其他标准浏览器都能很好的支持
<input placeholder="请输入用户名">

 ???????????<p> ???????????????<label>邮箱:</label> ???????????????<input type="email" name="mail" id="mail" value="" placeholder="请输入邮箱"/> ???????????</p>

6、required必填属性

约束表单元在提交前必须输入值。

 ???????????<p> ???????????????<label>博客:</label> ???????????????<input type="url" name="blog" id="blog" value="" required="required"/> ???????????</p>

7、pattern正则属性

约束用户输入的值必须与正则表达式匹配。

 ???????????<p> ???????????????<label>帐号:</label> ???????????????<input type="text" required="required" pattern="^[0-9a-zA-Z]{6,16}$" />请输入a-zA-Z0-9且长度6-16位的字符 ???????????</p>

8、autofocus自动聚焦属性

 ???????????<p> ???????????????<label>博客:</label> ???????????????<input type="url" name="blog" id="blog" value="" required="required" autofocus="autofocus"/> ???????????</p>

让指定的表单元素获得焦点。

9、autocomplete自动补全属性

当表单元素设置了自动完成功能后,会记录用户输入过的内容,双击表单元素会显示历史输入。

<input type="text" name="username" autocomplete="on/off" />

该属性默认是打开的。

10、novalidate不验证属性

novalidate 属性规定在提交表单时不应该验证 form 或 input 域。
<form action="demo_form.asp" method="get" novalidate="true">

<button formnovalidate="formnovalidate" >提交</button>

11、multiple多选属性

multiple 属性规定输入域中可选择多个内容,如:email 和 file

<input type="file" multiple="multiple” />

 ???????????<p> ???????????????<label>相片:</label> ???????????????<input type="file" multiple="multiple"/> ???????????</p>

12、禁用属性:disabled

13、只读属性:readonly(只读文本框): true false

14、长度属性:size="初始长度"

15、选中属性:selected(默认选中项) 【列表】

16、选中属性:checked (单选按钮选中状态)【单选、复选】

17、输入的最大字符数 :maxlength:type为text或password时,

18、指定按钮是否被选中:checked:type为radio或checkbox时,

19、光标定位:autofocus

三、表单重写属性

表单重写属性(form override attributes)允许您重写 form 元素的某些属性设定。
表单重写属性有:
formaction - 重写表单的 action 属性
formenctype - 重写表单的 enctype 属性
formmethod - 重写表单的 method 属性
formnovalidate - 重写表单的 novalidate 属性
formtarget - 重写表单的 target 属性

<!DOCTYPE html><html> ???<head> ???????<meta charset="UTF-8"> ???????<title></title> ???</head> ???<body> ???????姓名:<input type="text" name="realname" form="form1"/> ???????<form id="form1" method="get"> ???????????<button formmethod="get" ?formaction="d01.html">get提交给d01.html</button> ???????????<button formmethod="post" formaction="d02.html">post提交d02.html</button> ???????</form> ???</body></html>
View Code

运行结果:

HTML5(二)——特殊符号、新增属性、表单重写属性、

原文地址:https://www.cnblogs.com/huoqin/p/9458001.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved