第十一周第三天笔记之html5知识解读

1 html5新增标签

  • output标签
    • 在form标签中通过事件oninput实施监听文本框的输入变化;
    • 代码
     <!DOCTYPE html>
     <html lang="en">
     <head>
         <meta charset="UTF-8">
         <title>output</title>
     </head>
     <body>
     <form action="" oninput="tian3.value=parseInt(tian1.value)*parseInt(tian2.value)">
         <input type="text" name="tian1" value="20"/>*
         <input type="number" name="tian2" value="10"/>=
         <output name="tian3"></output>
     </form>
     <form action="" oninput="tian3.value=parseInt(tian1.value)*parseInt(tian2.value)">
         <input type="text" id="tian1" value="20"/>*
         <input type="number" id="tian2" value="10"/>=
         <output name="tian3"></output>
     </form>
     <form oninput="x.value=parseInt(a.value)+parseInt(b.value)">0
         <input type="range" id="a" value="50">100
         +<input type="number" id="b" value="50">
         =<output name="x" for="a b"></output>
     </form>
     <script></script>
     </body>
     </html>
    
  • ruby注释:配合rt定义注释或音标
    • 代码:
     <body>
      <p>天空<ruby>分<rt>f<ruby>e<rt>v</rt></ruby>n</rt></ruby>外蓝,鱼儿<mark>你</mark>在何方!!!</p>
     </body>
    
  • 知识解读文件链接
    知识解读

2 表单标签类型及属性

  • 表单类型:
    • type属性:email/tel/url/number/range/Date picker/search/color/file
    • file属性:选择文件 代码:<input type="file" multiple>
  • 表单属性
    • 分类:autocomplete/autofocus/multiple/placeholder/required
    • autocomplete:自动填补内容;属性值on或空,代表自动填充;属性值off,代表不自动填充;
    • autofocus:自动聚焦;
    • multiple:多选;
    • required:要求,当表单内容为空或表单内容不符合格式,则会出现信息提示字;

3 data自定义属性

  • 在html5中data设置自定义属性格式为:data-xxx="";
    • 例如:<a href="javascript:;" data-target=".tiyu">体育频道</a>
    • 在原生JS中打印元素a身上的属性和方法,其中有一个dataset属性,属性值为对象,对象中存在target属性,属性值为设置的内容.tiyu;即:oA.dataset.target;
    • 在jQuery中,通过data方法来获取;即:$("a").data("target");
  • 简易选项卡实例
    • 原生JS版代码:
     <!DOCTYPE html>
     <html lang="en">
     <head>
         <meta charset="UTF-8">
         <title>data自定义属性</title>
         <style>
             .wrap{
                 width: 400px;
             }
             .wrap div{
                 padding: 20px;
                 width: 100%;
                 height: 200px;
                 border: 1px solid red;
                 display: none;
             }
             .wrap div:nth-of-type(1){
                 display: block;
             }
         </style>
     </head>
     <body>
     <div class="wrap">
         <a href="javascript:;" data-target=".tiyu">体育频道</a>
         <a href="javascript:;" data-target=".xinwen">新闻频道</a>
         <a href="javascript:;" data-target=".nongmin">农民频道</a>
         <a href="javascript:;" data-target=".fazhi">法制频道</a>
         <div class="tiyu content">体育频道1111111</div>
         <div class="xinwen content">新闻频道2222221</div>
         <div class="nongmin content">农民频道333333</div>
         <div class="fazhi content">法制频道4444444</div>
     </div>
     <script>
         var aA=document.getElementsByTagName("a");
         var aDiv=document.querySelectorAll(".content");
         for(var i=0; i<aA.length; i++){
             aA[i].onclick=function () {
                 //原生拿this标签元素身上的自定义属性dataset中的属性target
                 console.dir(this);
                 var target=this.dataset.target;
                 for(var i=0; i<aDiv.length; i++){
                     aDiv[i].style.display="none";
                 }
                 document.querySelector(target).style.display="block";
             }
         }
     </script>
     </body>
     </html>
    
    • jQuery版代码:
     <script src="jquery.js"></script>
     <script>
         $("a").click(function () {
             var target=$(this).data("target");
             $(target).show().siblings("div").hide();
         })
     </script>
    

4 classList属性

  • 属性:元素身上的属性,属性值为对象,对象原型链上存在add(),remove(),toggle(),contains(),item()等属性方法;
  • 原型链上属性方法解读:
    • add():给元素添加class名,如果需要添加多个,用逗号分隔;即:ele.classList.add("box1,box2");;返回值为:undefined;
    • remove():给元素删除class名,如果需要删除多个,用逗号分隔;即:ele.classList.remove("box1,box2");;返回值为undefined;
    • toggle():用于切换添加和删除class名,相当于一个开关,如果元素身上存在class名,则删除,并返回false;如果不存在,则添加,并返回true;即:ele.classList.toggle("box1");
    • item():用于获取元素身上多个class名中的某一个,通过索引值获取,返回指定的class名;即:ele.classList.item(1);
    • contains():用于判断元素身上是否存在某个class名,返回值为布尔值,存在则返回true;不存在则返回false;
  • 链接知识解读:classList解读
  • 验证代码:
     <!DOCTYPE html>
     <html lang="en">
     <head>
         <meta charset="UTF-8">
         <title>classList验证</title>
         <style>
             div{
                 width: 200px;
                 height: 200px;
                 background-color: red;
             }
         </style>
     </head>
     <body>
     <input type="button" value="点击" id="btn">
     <div id="div" class="box1 box2"></div>
     <script>
         var oDiv=document.getElementById("div");
         var oBtn=document.getElementById("btn");
         oBtn.onclick=function () {
             var res=oDiv.classList.add("box3,box4");//返回undefined;
             var res1=oDiv.classList.remove("box2");//返回undefined;
             var res2=oDiv.classList.toggle("box2");//有就删没有就添加,返回false和true;
             var res3=oDiv.classList.contains("box1");//返回false和true;
             var res4=oDiv.classList.item(2);//用于返回元素身上多个class名中的一个,按照0开始排序
             console.log(res);
         }
     </script>
     </body>
     </html>
    

5 localStorage本地存储

  • 获取:var storage=window.localStorage;
  • 功能:
    • 存:点 []setItem("key","val")
    • 取:点 []getItem("key")
    • 删:删除某一个属性:storage.removeItem("key");全部删除:storage.clear()
    • 获取所有的key:
     var storage=window.localStorage;
     for(var i=0; i<storage.length; i++){
             console.log(storage.key(i));
         }
    
  • 详细解读见链接第5.0节
    localStorage解读
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,542评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,822评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,912评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,449评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,500评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,370评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,193评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,074评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,505评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,722评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,841评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,569评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,168评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,783评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,918评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,962评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,781评论 2 354

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,485评论 1 45
  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 3,887评论 0 0
  • 一、HTML5 1.1 认识HTML5 HTML5并不仅仅只是作为HTML标记语言的一个最新版本,更重要的是它制定...
    福尔摩鸡阅读 15,888评论 14 51
  • jQuery知识点 1 基础知识 jQuery API网站:jQuery库网站 知识点解读原生JS与jQuery代...
    果木山阅读 185评论 0 0
  • HTML标签解释大全 一、HTML标记 标签:!DOCTYPE 说明:指定了 HTML 文档遵循的文档类型定义(D...
    米塔塔阅读 3,242评论 1 41