国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

JavaScript WebAPI、DOM、事件和操作元素實例詳解

瀏覽:6日期:2023-06-02 13:31:32
目錄WebAPIDOMDOM樹DOM獲取元素方式document對象屬性事件事件的使用步驟事件的類型操作元素操作元素內容操作元素屬性操作元素樣式排他思想H5自定義屬性總結WebAPI

JavaScript WebAPI、DOM、事件和操作元素實例詳解

API:應用程序編程接口,是一些預先定義的函數,由某個軟件開放給開發人員使用的,幫助開發者實現某種功能,開發人員無須訪問源碼、無須理解其內部工作機制細節,只需知道如何使用即可

簡單理解: API 是給程序員提供的一種工具,以便能更輕松的實現想要完成的功能

WebAPI:主要針對瀏覽器的API,在JavaScript語言中被封裝成了對象,通過調用對象的屬性和方法就可以使用Web API

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

DOM

文檔對象模型,是W3C組織推薦的處理可擴展標記語言(HTML或者XML)的標準編程接口

DOM樹

DOM將HTML文檔處理成樹形(倒)結構,將html文檔看作是一棵樹,文檔中的標簽、標簽的屬性、標簽的內容都是數的節點

JavaScript WebAPI、DOM、事件和操作元素實例詳解

DOM樹最頂端是document,BOM最頂端是window

文檔(document)一個頁面當成文檔 元素(element)頁面中所有標簽元素 節點(node)網頁中的所有內容,在文檔樹中都是節點(如:元素節點、屬性節點、文本節點、注釋節點等),每個節點都是對象,都有屬性和方法DOM獲取元素方式獲取方式 用法 返回值 根據Id獲取 document.getElementById(‘id’) 返回指定id的元素對象,未找到返回null,存在多個id返回undefined 根據標簽名 document.getElementsByTagName(‘標簽名’) 返回的是指定標簽的動態集合,是一個類數組對象,偽數組,但不是數組。可以通過下標索引訪問 根據Name獲取 document.getElementByName(‘name屬性值’) 返回指定name的元素對象集合 根據ClassName獲取(html5新增) document.getElementByClassName(‘class屬性值’) 返回指定classname的元素對象集合 根據選擇器獲取(新增) document.querySelector(‘選擇器’) 獲取的是給定選擇器元素,只能返回給定選擇器第一個元素 根據選擇器獲取(新增) document.querySelectorAll(‘選擇器’) 獲取的是給定選擇器元素,返回元素的集合 document對象屬性方法 作用 document.body 返回文檔的body元素 document.title 返回文檔的title元素,表示頁面的標題 document.documentElement 返回文檔的html元素,即HTML頁面的全部信息(通過此可以將文檔全部元素放進一個字符串,供別人讀取分析 document.froms 返回對文檔中所有From對象引用,復數形式,可以返回多個表單 document.images 返回對文檔中所有的image對象,與上述一樣 事件

事件:用戶進行某種操作(可被JavaScript偵測到的行為),是一種“觸發-響應”的機制,是實現頁面交互的方式

事件三要素:

事件源:誰觸發了事件事件類型:觸發了什么事件事件處理程序:事件被觸發后所執行的代碼(函數形式)

事件的使用步驟

<body> <button id='btn'>單擊</button> <script> var btn = document.getElementById(’btn’)// 第1步:獲取事件源 // 第2步:注冊事件btn.onclick btn.onclick = function () { // 第3步:添加事件處理程序(采取函數賦值形式)alert(’彈出’) } </script></body>

事件名=函數名([參數])

注意:創建按鈕的方式(2種)

<input type='button' value='按鈕顯示文字'><button type='button'>按鈕顯示文字</value>事件的類型

JavaScript WebAPI、DOM、事件和操作元素實例詳解

操作元素操作元素內容

DOM提供的屬性實現對元素內容的操作方法:

JavaScript WebAPI、DOM、事件和操作元素實例詳解

innerHTML (W3C)識別html標簽。在使用時會保留編寫的格式以及標簽樣式 innerText(非標準)不識別html標簽。去掉所有格式以及標簽的純文本內容 textContent屬性在去掉標簽后會保留文本格式

<body> <div id='box'>The first paragraph...<p> The second paragraph... <a href='http://m.cgvv.com.cn/bcjs/13971.html#'>third</a></p> </div></body><script> var box = document.getElementById(’box’) console.log(box.innerHTML) console.log(box.innerText) console.log(box.textContent)</script>

JavaScript WebAPI、DOM、事件和操作元素實例詳解

操作元素屬性

在DOM中,HTML屬性操作是指使用JavaScript來操作一個元素的HTML屬性

元素中:src、href等 表單中:id、alt、title等操作元素樣式

①操作style屬性:元素對象.style.樣式屬性名

樣式屬性名對應CSS樣式名,但需要去掉CSS樣式名里的半字線“-”,并將半字線后面的英文的首字母大寫

JavaScript WebAPI、DOM、事件和操作元素實例詳解

<body> <div id='box'></div> <script>var ele = document.querySelector(’#box’); // 獲取元素對象ele.style.backgroundColor= ’red’;ele.style.width = ’100px’;ele.style.height = ’100px’;ele.style.transform = ’rotate(7deg)’; </script> <!-- 上述3行代碼相當于在CSS中添加以下樣式: --> <style>#box { background-color: red; width: 100px; height: 100px; transform: rotate(7deg);} </style></body>

②操作className屬性:元素對象.className

在開發中,如果樣式修改較多,可以采取操作類名的方式更改元素樣式 訪問className屬性的值表示獲取元素的類名,為className屬性賦值表示更改元素類名 className會更改元素的類名,會覆蓋原先的類名 如果元素有多個類名,在className中以空格分隔排他思想

如果有同一組元素,要某一個元素實現某種樣式, 需要用到循環的排他思想算法:

所有元素全部清除樣式(干掉其他人) 給當前元素設置樣式 (留下我自己) 注意順序不能顛倒,首先干掉其他人,再設置自己H5自定義屬性

自定義屬性目的: 是為了保存并使用數據。有些數據可以保存到頁面中而不用保存到數據庫中

有些自定義屬性很容易引起歧義,不容易判斷是元素的自帶屬性還是自定義屬性,HTML5新增了自定義屬性的規范,在HTML5中規定通過“data-屬性名”的方式設置自定義屬性

設置屬性值

①在HTML中設置自定義屬性

data-屬性名=‘值’

// 在div元素上設置data-index屬性<div data-index='2'></div>

②在JavaScript中設置自定義屬性

element.setAttribute(‘屬性’, 值) element.dataset.屬性名=‘值’

<div></div><script> var div = document.querySelector(’div’); div.dataset.index = ’2’; div.setAttribute(’data-name’, ’andy’);</script>

獲取屬性值:

element.getAttribute() element.dataset.屬性 element.dataset[‘屬性’] (有兼容性問題)

注意: dataset是一個集合,里面存放了所有以data開頭的自定義屬性,如果自定義屬性里面包含有多個連字符(-)時,獲取的時候采取駝峰命名法

<div getTime='20' data-index='2' data-list-name='andy'></div><script> var div = document.querySelector(’div’); console.log(div.getAttribute(’data-index’)); // 結果為:2 console.log(div.getAttribute(’data-list-name’)); // 結果為:andy // HTML5新增的獲取自定義屬性的方法,只能獲取“data-”開頭的屬性 console.log(div.dataset); // DOMStringMap {index:'2',listName:'andy'} console.log(div.dataset.index); // 結果為:2 console.log(div.dataset[’index’]);// 結果為:2 console.log(div.dataset.listName); // 結果為:andy console.log(div.dataset[’listName’]); // 結果為:andy</script>

移除屬性值:

element.removeAttribute(‘屬性’)

<div ></div><script> var div = document.querySelector(’div’); div.removeAttribute(’id’);// 移除div元素的id屬性 div.removeAttribute(’class’); // 移除div元素的class屬性</script>

具體操作元素案例見文章: JavaScript 操作元素案例練習

總結

到此這篇關于JavaScript WebAPI、DOM、事件和操作元素的文章就介紹到這了,更多相關js WebAPI、DOM、事件和操作元素內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 国产九九免费视频网站 | 久久99国产综合精品 | 国产免费亚洲 | 可以看毛片的网站 | 色综合亚洲七七久久桃花影院 | 在线播放亚洲美女视频网站 | 狠狠色噜狠狠狠狠色综合久 | 免费看欧美一级特黄a毛片 免费看片aⅴ免费大片 | 久爱免费观看在线网站 | 国模午夜写真福利视频在线 | 97视频精品| 视频在线一区二区三区 | 手机在线亚洲 | 国产成人在线视频观看 | 成人免费大片a毛片 | 亚洲精品一区二区三区在线播放 | 免费观看a级毛片在线播放 免费观看a级网站 | 国产精品v一区二区三区 | 亚洲国产一区在线 | 8888奇米四色在线 | 亚洲国产一区二区三区综合片 | 国产亚洲精品激情一区二区三区 | 九九九九九九精品免费 | 国产男女爽爽爽免费视频 | 国产一级爱做片免费观看 | 国内国外精品一区二区 | 成人五级毛片免费播放 | 一区二区三区四区免费视频 | 亚洲精品视频专区 | 久久精品在线视频 | 99久久99久久久精品久久 | 欧美国产日本 | 性欧美高清久久久久久久 | 欧美成人欧美激情欧美风情 | 一区二区三区国产美女在线播放 | 失禁h啪肉尿出来高h健身房 | 国产福利一区二区三区 | 日本欧美精品 | 欧美大片一级毛片 | fc2在线播放 | 欧美日韩精品一区二区另类 |