92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线

Web API介紹及DOM對象(一)

2021-9-17    前端達人

目錄

一、API 和 Web API

1.API 

2.Web API  

3.API 和 Web API總結 

二、DOM 介紹 

1. DOM樹 

三、獲取元素方法 

1.getElementById()

2.getElementsByTagName

  2.1element.getElementsByTagName() 

3.HTML5 新增的方法獲取

3.1 document.getElementsByClassName('類名')

3.2 document.querySelector('選擇器')

3.3 document.querySelectorAll('選擇器')

4.獲取 body 、html 元素 

四、事件和樣式操作 

1.事件概述

2.執行事件的步驟 

2.1 常見的鼠標事件 

3. 操作元素 

3.1 改變元素內容

3.2 修改元素屬性

3.3 修改表單元素的屬性

3.4 修改樣式屬性


一、API 和 Web API

1.API 

 API( Application Programming Interface,應用程序編程接口)
是一些預先定義的函數,目的是提供應用程序
與開發人員基于某軟件或硬件得以訪問一組例程的能力,而又無需訪問源碼,或理解內部工作機制的細節。
簡單理解: API是給程序員提供的一種工具,以便能更輕松的實現想要完成的功能

2.Web API  

Web API是瀏覽器提供的一套操作瀏覽器功能和頁面元素的API( BOM和DOM)。

比如我們想要瀏覽器彈出一個警示框,直接使用alert( '彈出');

3.API 和 Web API總結 

1. API是為我們程序員提供的一個接口,幫助我們實現某種功能,我們會使用就可以,不必糾結內部如何實現
2. Web API主要是針對于瀏覽器提供的接口,主要針對于瀏覽器做交互效果
3. Web API 一般都有輸入和輸出(函數的傳參和返回值) ,Web API很多都是方法(函數)
4.學習Web API可以結合學習內置對象方法的思路學習

二、DOM 介紹 

文檔對象模型( Document Object
Model ,簡稱DOM) ,是W3C組織推薦的處理可擴展標記語言( HTML或者XML )的標準編程接口
W3C已經定義了一系列的DOM接口,通過這些DOM接口可以改變網頁的內容、結構和樣式 

1. DOM樹 

  •  文檔:一個頁面就是一個文檔,DOM中使用 document表示
  • 元素:頁面中的所有標簽都是元素,DOM中使用 element表示
  • 節點:網頁中的所有內容都是節點(標簽、屬性、文本、注釋等),DOM中使用 node表示

DOM把以上內容都看作是對象 

三、獲取元素方法 

1.getElementById()

 使用 getElementById( ) 方法可以獲取帶有ID的元素對象


  1. <div id="time" >2019-9-9 </div>
  2. <script>
  3. var timer = document.getElementById('time');
  4. console.dir(timer);
  5. </script>
  6. //返回結果為<div id= "time">2019-9-9</div>這一整個標簽

 注意:
1.因為我們文檔頁面從上往下加載,先得有標簽所以我們script 寫到標簽的下面
2. get 獲得element 元素 by 通過駝峰命名法
3.參數 id 是大小寫敏感的字符串
4.返回的是一個元素的對象
5. console.dir 打印我們返回的元素對象更好的查看里面的屬性和方法

2.getElementsByTagName

 使用getElementsByTagName()方法可以返回帶有指定標簽名的對象的集合
 document.getElementsByTagName('標簽名');


  1. <ul>
  2. <li>1</li>
  3. <li>2</li>
  4. <li>3</li>
  5. <li>4</li>
  6. <li>5</li>
  7. </ul>
  8. <script>
  9. var lis = document.getElementsByTagName('li');
  10. console.log(lis);
  11. </script>

 1. 返回的是 獲取過來元素對象的集合  以偽數組的形式存儲的

 2. 我們想要依次打印里面的元素對象我們可以采取遍歷的方式  
   for(var i = 0; i < lis.length; i++) {
       console.log(lis[i]);
    }

 3. 得到元素對象是動態的,標簽里面的內容變了,得到的內容就變了.

  2.1element.getElementsByTagName() 

element.getElementsByTagName()  可以得到這個元素里面的某些標簽 


  1. <ul id = "nav">
  2. <li>1</li>
  3. <li>2</li>
  4. <li>3</li>
  5. <li>4</li>
  6. <li>5</li>
  7. </ul>
  8. <script>
  9. var nav = document.getElementById('nav');
  10. var navLis = nav.getElementsByTagName('li');
  11. </script>

3.HTML5 新增的方法獲取

3.1 document.getElementsByClassName('類名')

根據類名返回元素對象集合  


  1. <div class="box" >123</div>
  2. <script>
  3. var boxs = document.getElementsByClassName('box');
  4. </script>

3.2 document.querySelector('選擇器')

 根據指定選擇器返回第一個元素對象
 注意:里面的選擇器需要加符號 類選擇器:.box   id選擇器: #box


  1. var firstBox = document.querySelector('.box');
  2. var nav = document.querySelector('#nav');
  3. var firstBox = document.querySelector('li');

3.3 document.querySelectorAll('選擇器')

返回指定選擇器的所有元素對象集合 


  1. var allBox = document.querySelectorAll('.box');
  2. //返回所有 class 名為 box 的標簽

4.獲取 body 、html 元素 


  1. var body = document.body ;
  2. // 返回 body 元素對象
  3. var htmlEle = document.documentElement;
  4. // 返回 html 元素對象

四、事件和樣式操作 

1.事件概述

JavaScript 使我們有能力創建動態頁面,而事件是可以被JavaScript偵測到的行為

簡單理解:觸發---響應機制

網頁中的每個元素都可以產生某些可以觸發 JavaScript 的事件,例如,我們可以在用戶點擊某按鈕時產生一個事件,然后去執行某些操作
 

 事件是有三部分組成   事件源  事件類型  事件處理程序  

  1. 事件源  事件被觸發的對象     比如按鈕
  2. 事件類型   如何觸發   比如鼠標點擊觸發
  3. 事件處理程序  通過一個函數賦值的方式  完成

2.執行事件的步驟 

1. 獲取事件源

2. 注冊事件(綁定事件)

3. 添加事件處理程序(采用函數賦值形式)
 

2.1 常見的鼠標事件 

鼠標事件 觸發條件
onclick 鼠標點擊左鍵觸發
onmouseover 鼠標經過觸發
onmouseout 鼠標離開觸發
onfocus 獲取鼠標焦點觸發
onblur 失去鼠標焦點觸發
onmousemove 鼠標移動觸發
onmouseup 鼠標彈起觸發
onmousedown 鼠標按下觸發

3. 操作元素 

JS的 DOM 操作可以改變網頁內容、結構和樣式,我們可以利用 DOM 操作元素來改變元素里面的內容、屬性等。注意一下都是屬性 

3.1 改變元素內容

① element.innerText 

可用于獲取標簽中的內容。此時獲取的是從起始位置到終止位置的內容,但它去除 html 標簽, 同時空格和換行也會去掉

獲取到 p 標簽再打印 p 標簽中的內容
var p = document.querySelector('p');
console.log(p.innerText);

② element.innerHTML

獲取內容時,獲取的是起始位置到終止位置的全部內容,包括 html 標簽, 同時保留空格和換行

獲取到 p 標簽再打印 p 標簽中的內容
var p = document.querySelector('p');
console.log(p.innerHTML);

普通標簽使用,表單不能用

3.2 修改元素屬性

  src 、href、id 、 alt 、title

案例:點擊不同按鈕顯示不同圖片


  1. <title>Document</title>
  2. <style>
  3. img {
  4. width: 300px;
  5. margin-top: 20px;
  6. }
  7. </style>
  8. </head>
  9. <body>
  10. <button id="but1">按鈕1</button>
  11. <button id="but2">按鈕2</button>
  12. <br>
  13. <img src="../images/objpic07.jpg" alt="" title="圖片1">
  14. <script>
  15. var item1 = document.getElementById('but1');
  16. var item2 = document.getElementById('but2');
  17. var img = document.querySelector('img');
  18. item1.onclick = function() {
  19. img.src = '../images/objpic07.jpg';
  20. img.title = '圖片1';
  21. }
  22. item2.onclick = function() {
  23. img.src = '../images/objpic08.jpg';
  24. img.title = '圖片2';
  25. }
  26. </script>
  27. </body>

3.3 修改表單元素的屬性

可操作的表單元素的屬性: type 、value、 checked、 selected、 disabled

按下按鈕修改表單框 里面的內容,通過修改 value
input.value 等于 this.value  因為 this指向的是事件函數的調用者   

案例:仿京東顯示隱藏密碼

 


  1. <title>Document</title>
  2. <style>
  3. .box {
  4. position: relative;
  5. width: 400px;
  6. border-bottom: 1px solid #ccc;
  7. margin: 100px auto;
  8. }
  9. .box input {
  10. width: 370px;
  11. height: 30px;
  12. border: 0;
  13. outline: none;
  14. }
  15. .box img {
  16. position: absolute;
  17. top: 2px;
  18. right: 2px;
  19. width: 24px;
  20. }
  21. </style>
  22. </head>
  23. <body>
  24. <div class="box">
  25. <label for="">
  26. <img src="../images/close.png" alt="" id="pic">
  27. </label>
  28. <input type="password" id="item">
  29. </div>
  30. <script>
  31. var item = document.getElementById('item');
  32. var pic = document.getElementById('pic');
  33. var flag = 0;
  34. pic.onclick = function() {
  35. if(flag == 0) {
  36. item.type = 'text';
  37. this.src = '../images/open.png';
  38. flag = 1;
  39. } else {
  40. item.type = 'password';
  41. this.src = '../images/close.png';
  42. flag = 0;
  43. }
  44. }
  45. </script>
  46. </body>

3.4 修改樣式屬性

① element.style 行內樣式操作

② element.className 類名樣式操作

行內樣式案例:顯示與隱藏文本操作(當Input獲取焦點,文本框初始內容消失,失去焦點,內容出現) 


  1. <title>Document</title>
  2. <style>
  3. input {
  4. color: #999;
  5. outline: none;
  6. height: 24px;
  7. }
  8. </style>
  9. </head>
  10. <body>
  11. <input type="text" value="手機">
  12. <script>
  13. var item = document.querySelector('input');
  14. item.onfocus = function() {
  15. if(this.value == '手機') {
  16. this.value = '';
  17. }
  18. this.style.color = '#333';
  19. this.style.border = '1px solid pink';
  20. }
  21. item.onblur = function() {
  22. if(this.value == '') {
  23. this.value = '手機';
  24. }
  25. this.style.color = '#999';
  26. this.style.border = '1px solid black';
  27. }
  28. </script>
  29. </body>

 類名樣式案例:密碼框驗證信息(提示輸入6~16位密碼,不滿或超出提示錯誤,正確則提示正確)


  1. <title>Document</title>
  2. <style>
  3. .box {
  4. width: 400px;
  5. margin: 100px auto;
  6. }
  7. input {
  8. outline: none;
  9. }
  10. .pic {
  11. height: 15px;
  12. display: inline-block;
  13. line-height: 15px;
  14. text-indent: 18px;
  15. font-size: 13px;
  16. color:blue;
  17. background: url(../images/mess.png) no-repeat;
  18. }
  19. .wrong {
  20. background: url(../images/wrong.png) no-repeat;
  21. color: red;
  22. }
  23. .right {
  24. background: url(../images/right.png) no-repeat;
  25. color: green;
  26. }
  27. </style>
  28. </head>
  29. <body>
  30. <div class="box">
  31. <input type="password" class="ipt">
  32. <p class="pic">請輸入6~16位的密碼</p>
  33. </div>
  34. <script>
  35. var item = document.querySelector('.ipt');
  36. var item2 = document.querySelector('.pic');
  37. item.onblur = function() {
  38. if(this.value.length < 6 || this.value.length > 16) {
  39. item2.className = 'pic wrong';
  40. item2.innerHTML = '您輸入的位數不對要求6~16位';
  41. } else {
  42. item2.className = 'pic right';
  43. item2.innerHTML = '您輸入的正確!';
  44. }
  45. }
  46. </script>
  47. </body>





藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請掃碼藍小助,報下信息,藍小助會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務合作,也請與我們聯系。

分享此文一切功德,皆悉回向給文章原作者及眾讀者.

轉自:csdn
免責聲明:藍藍設計尊重原作者,文章的版權歸原作者。如涉及版權問題,請及時與我們取得聯系,我們立即更正或刪除。

藍藍設計www.skdbbs.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務

日歷

鏈接

個人資料

藍藍設計的小編 http://www.skdbbs.com

存檔

92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线
亚洲精品黄网在线观看| 成人国产在线视频| 欧美亚洲一级片| 久久亚洲欧美日韩精品专区| 国产成人精品一区二区在线| 欧美亚洲午夜视频在线观看| 97精品国产97久久久久久免费| 在线观看欧美www| 亚洲一区二区三区视频播放| 久久的精品视频| 欧美影院成年免费版| 色先锋资源久久综合5566| 欧美电影在线观看完整版| 国产va免费精品高清在线| 国产精品久久久久久久久借妻| 精品亚洲精品福利线在观看| 91老司机精品视频| 中文字幕一区电影| 国产一区二区三区在线观看网站| 亲爱的老师9免费观看全集电视剧| 国产成人精品综合久久久| 成人福利在线视频| 亚洲一区二区三区在线视频| 亚洲精品之草原avav久久| 中文在线资源观看视频网站免费不卡| 国产精品入口免费视频一| 久久久久久久久网站| 热久久这里只有精品| 久久99久久99精品中文字幕| 亚洲人高潮女人毛茸茸| 国产精品女主播视频| 日本精品va在线观看| 亚洲精品国产精品久久清纯直播| 亚洲精品有码在线| 亚洲欧美国产精品久久久久久久| 久久亚洲一区二区三区四区五区高| 亚洲91精品在线观看| 97在线免费观看视频| 98午夜经典影视| 国产精品一区二区三| 日韩成人在线电影网| 国产精品久久久久久久久久久久| 久久精品视频免费播放| 97视频在线免费观看| 国产免费成人av| 在线观看亚洲视频| 国产精品美女免费看| 日日噜噜噜夜夜爽亚洲精品| 亚洲欧美日韩中文在线制服| 国产午夜精品全部视频在线播放| 国产成人在线一区二区| 红桃视频成人在线观看| 欧美成人精品不卡视频在线观看| 亚洲国产欧美在线成人app| 性欧美xxxx| 亚洲一区二区免费| 国产一区二区在线免费| 欧美自拍大量在线观看| 亚洲xxxx妇黄裸体| 日韩成人小视频| 日韩视频第一页| 一区二区在线免费视频| 欧美在线欧美在线| 日本成人精品在线| 亚洲精品成a人在线观看| 精品福利樱桃av导航| 中文字幕在线亚洲| 国产精品一区二区女厕厕| 啊v视频在线一区二区三区| 91在线高清免费观看| 免费不卡欧美自拍视频| 亚洲男女自偷自拍图片另类| 亚洲午夜精品视频| 91久久精品美女| 欧美老肥婆性猛交视频| 欧美一级片一区| 欧美另类老肥妇| 日韩精品免费在线播放| 91在线高清免费观看| 亚洲国产精品电影在线观看| 91精品国产91久久久久福利| 2020久久国产精品| 欧美日韩亚洲系列| 日韩亚洲在线观看| 欧美乱大交做爰xxxⅹ性3| 欧美性猛交xxxx乱大交3| 国产精品露脸自拍| 日韩精品中文字幕久久臀| 欧美性猛交xxxx富婆弯腰| 国产xxx69麻豆国语对白| 亚洲第一男人天堂| 国产日韩一区在线| 成人高清视频观看www| 狠狠综合久久av一区二区小说| 欧美激情videoshd| 日本韩国欧美精品大片卡二| 久久久精品一区二区| 国产精品久久一区| 欧美色欧美亚洲高清在线视频| 精品在线欧美视频| 日韩精品视频在线观看免费| 欧美激情综合亚洲一二区| 久久国产精品电影| 久久精品国产久精国产思思| 欧美高清电影在线看| 日韩中文在线中文网三级| 欧美性色19p| 91亚洲精品久久久久久久久久久久| 日韩精品中文在线观看| 7777免费精品视频| 久久这里只有精品视频首页| 高清日韩电视剧大全免费播放在线观看| 久久精品2019中文字幕| 欧美午夜无遮挡| 成人羞羞国产免费| 成人妇女淫片aaaa视频| 午夜精品国产精品大乳美女| 136fldh精品导航福利| 成人黄色免费网站在线观看| 亚洲欧美资源在线| 日韩在线资源网| 国产精品999| 久热在线中文字幕色999舞| 日韩电影免费观看在线| 亚洲欧美日韩精品久久| 成人啪啪免费看| 亚洲最大成人免费视频| 久久6精品影院| 欧美国产日韩视频| 亚洲最大中文字幕| 成人激情视频小说免费下载| 欧美日韩国产一区二区| 欧美精品日韩三级| 亚洲高清av在线| 欧美精品九九久久| 97视频在线观看播放| 91精品视频在线| 亚洲iv一区二区三区| 国产91在线播放| 国产精品丝袜白浆摸在线| 亚洲欧美一区二区三区在线| 亚洲图片欧美日产| 中文字幕欧美专区| 精品在线欧美视频| 91久久精品美女高潮| 久久久国产精品免费| 欧美激情第6页| 亚洲视频综合网| 青青青国产精品一区二区| 欧美日韩免费在线观看| 国产一区二区在线免费| 成人在线小视频| 亚洲三级免费看| 欧美一级淫片播放口| 亚洲欧洲av一区二区| 2019中文字幕在线免费观看| 亚洲国产日韩一区| 欧美成人激情在线| 日韩电影中文 亚洲精品乱码| 国产一区二区三区在线观看网站| 亚洲精品永久免费| 久久九九有精品国产23| 成人xvideos免费视频| 日韩激情av在线播放|