整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          HTML DOM 元素對象

          TML DOM 節點

          在 HTML DOM (Document Object Model) 中, 每個東西都是 節點 :

          • 文檔本身就是一個文檔對象

          • 所有 HTML 元素都是元素節點

          • 所有 HTML 屬性都是屬性節點

          • 插入到 HTML 元素文本是文本節點

          • 注釋是注釋節點


          元素對象

          在 HTML DOM 中, 元素對象代表著一個 HTML 元素。

          元素對象 的 子節點可以是, 可以是元素節點,文本節點,注釋節點。

          NodeList 對象 代表了節點列表,類似于 HTML元素的子節點集合。

          元素可以有屬性。屬性屬于屬性節點。


          瀏覽器支持

          所有主流瀏覽器都支持 元素對象 和 NodeList 對象。.


          屬性和方法

          以上屬性和方法可適用于所有 HTML 元素:

          屬性 / 方法描述
          element.accessKey設置或返回accesskey一個元素
          element.addEventListener()向指定元素添加事件句柄
          element.appendChild()為元素添加一個新的子元素
          element.attributes返回一個元素的屬性數組
          element.childNodes返回元素的一個子節點的數組
          element.classlist返回元素的類名,作為 DOMTokenList 對象。
          element.className設置或返回元素的class屬性
          element.clientHeight在頁面上返回內容的可視高度(不包括邊框,邊距或滾動條)
          element.clientWidth在頁面上返回內容的可視寬度(不包括邊框,邊距或滾動條)
          element.cloneNode()克隆某個元素
          element.compareDocumentPosition()比較兩個元素的文檔位置。
          element.contentEditable設置或返回元素的內容是否可編輯
          element.dir設置或返回一個元素中的文本方向
          element.firstChild返回元素的第一個子節點
          element.focus()設置文檔或元素獲取焦點
          element.getAttribute()返回指定元素的屬性值
          element.getAttributeNode()返回指定屬性節點
          element.getElementsByTagName()返回指定標簽名的所有子元素集合。
          element. getElementsByClassName()返回文檔中所有指定類名的元素集合,作為 NodeList 對象。
          element.getFeature()返回指定特征的執行APIs對象。
          element.getUserData()返回一個元素中關聯鍵值的對象。
          element.hasAttribute()如果元素中存在指定的屬性返回 true,否則返回false。
          element.hasAttributes()如果元素有任何屬性返回true,否則返回false。
          element.hasChildNodes()返回一個元素是否具有任何子元素
          element.hasFocus()返回布爾值,檢測文檔或元素是否獲取焦點
          element.id設置或者返回元素的 id。
          element.innerHTML設置或者返回元素的內容。
          element.insertBefore()現有的子元素之前插入一個新的子元素
          element.isContentEditable如果元素內容可編輯返回 true,否則返回false
          element.isDefaultNamespace()如果指定了namespaceURI 返回 true,否則返回 false。
          element.isEqualNode()檢查兩個元素是否相等
          element.isSameNode()檢查兩個元素所有有相同節點。
          element.isSupported()如果在元素中支持指定特征返回 true。
          element.lang設置或者返回一個元素的語言。
          element.lastChild返回的最后一個子元素
          element.namespaceURI返回命名空間的 URI。
          element.nextSibling返回該元素緊跟的一個節點
          element.nodeName返回元素的標記名(大寫)
          element.nodeType返回元素的節點類型
          element.nodeValue返回元素的節點值
          element.normalize()使得此成為一個"normal"的形式,其中只有結構(如元素,注釋,處理指令,CDATA節和實體引用)隔開Text節點,即元素(包括屬性)下面的所有文本節點,既沒有相鄰的文本節點也沒有空的文本節點
          element.offsetHeight返回,任何一個元素的高度包括邊框和填充,但不是邊距
          element.offsetWidth返回元素的寬度,包括邊框和填充,但不是邊距
          element.offsetLeft返回當前元素的相對水平偏移位置的偏移容器
          element.offsetParent返回元素的偏移容器
          element.offsetTop返回當前元素的相對垂直偏移位置的偏移容器
          element.ownerDocument返回元素的根元素(文檔對象)
          element.parentNode返回元素的父節點
          element.previousSibling返回某個元素緊接之前元素
          element.querySelector()返回匹配指定 CSS 選擇器元素的第一個子元素
          document.querySelectorAll()返回匹配指定 CSS 選擇器元素的所有子元素節點列表
          element.removeAttribute()從元素中刪除指定的屬性
          element.removeAttributeNode()刪除指定屬性節點并返回移除后的節點。
          element.removeChild()刪除一個子元素
          element.removeEventListener()移除由 addEventListener() 方法添加的事件句柄
          element.replaceChild()替換一個子元素
          element.scrollHeight返回整個元素的高度(包括帶滾動條的隱蔽的地方)
          element.scrollLeft返回當前視圖中的實際元素的左邊緣和左邊緣之間的距離
          element.scrollTop返回當前視圖中的實際元素的頂部邊緣和頂部邊緣之間的距離
          element.scrollWidth返回元素的整個寬度(包括帶滾動條的隱蔽的地方)
          element.setAttribute()設置或者改變指定屬性并指定值。
          element.setAttributeNode()設置或者改變指定屬性節點。
          element.setIdAttribute()
          element.setIdAttributeNode()
          element.setUserData()在元素中為指定鍵值關聯對象。
          element.style設置或返回元素的樣式屬性
          element.tabIndex設置或返回元素的標簽順序。
          element.tagName作為一個字符串返回某個元素的標記名(大寫)
          element.textContent設置或返回一個節點和它的文本內容
          element.title設置或返回元素的title屬性
          element.toString()一個元素轉換成字符串
          nodelist.item()返回某個元素基于文檔樹的索引
          nodelist.length返回節點列表的節點數目。

          HTML DOM 節點

          在 HTML DOM (Document Object Model) 中, 每個東西都是 節點 :

          • 文檔本身就是一個文檔對象

          • 所有 HTML 元素都是元素節點

          • 所有 HTML 屬性都是屬性節點

          • 插入到 HTML 元素文本是文本節點

          • 注釋是注釋節點



          元素對象

          在 HTML DOM 中, 元素對象代表著一個 HTML 元素。

          元素對象 的 子節點可以是, 可以是元素節點,文本節點,注釋節點。

          NodeList 對象 代表了節點列表,類似于 HTML元素的子節點集合。

          元素可以有屬性。屬性屬于屬性節點(查看下一節)。

          瀏覽器支持

          所有主流瀏覽器都支持 元素對象 和 NodeList 對象。.

          屬性和方法

          以上屬性和方法可適用于所有 HTML 元素:

          屬性 / 方法描述
          element.accessKey設置或返回accesskey一個元素
          element.addEventListener()向指定元素添加事件句柄
          element.appendChild()為元素添加一個新的子元素
          element.attributes返回一個元素的屬性數組
          element.childNodes返回元素的一個子節點的數組
          element.classlist返回元素的類名,作為 DOMTokenList 對象。
          element.className設置或返回元素的class屬性
          element.clientHeight在頁面上返回內容的可視高度(不包括邊框,邊距或滾動條)
          element.clientWidth在頁面上返回內容的可視寬度(不包括邊框,邊距或滾動條)
          element.cloneNode()克隆某個元素
          element.compareDocumentPosition()比較兩個元素的文檔位置。
          element.contentEditable設置或返回元素的內容是否可編輯
          element.dir設置或返回一個元素中的文本方向
          element.firstChild返回元素的第一個子節點
          element.focus()設置文檔或元素獲取焦點
          element.getAttribute()返回指定元素的屬性值
          element.getAttributeNode()返回指定屬性節點
          element.getElementsByTagName()返回指定標簽名的所有子元素集合。
          element. getElementsByClassName()返回文檔中所有指定類名的元素集合,作為 NodeList 對象。
          element.getFeature()返回指定特征的執行APIs對象。
          element.getUserData()返回一個元素中關聯鍵值的對象。
          element.hasAttribute()如果元素中存在指定的屬性返回 true,否則返回false。
          element.hasAttributes()如果元素有任何屬性返回true,否則返回false。
          element.hasChildNodes()返回一個元素是否具有任何子元素
          element.hasfocus()返回布爾值,檢測文檔或元素是否獲取焦點
          element.id設置或者返回元素的 id。
          element.innerHTML設置或者返回元素的內容。
          element.insertBefore()現有的子元素之前插入一個新的子元素
          element.isContentEditable如果元素內容可編輯返回 true,否則返回false
          element.isDefaultNamespace()如果指定了namespaceURI 返回 true,否則返回 false。
          element.isEqualNode()檢查兩個元素是否相等
          element.isSameNode()檢查兩個元素所有有相同節點。
          element.isSupported()如果在元素中支持指定特征返回 true。
          element.lang設置或者返回一個元素的語言。
          element.lastChild返回的最后一個子元素
          element.namespaceURI返回命名空間的 URI。
          element.nextSibling返回該元素緊跟的一個元素
          element.nodeName返回元素的標記名(大寫)
          element.nodeType返回元素的節點類型
          element.nodeValue返回元素的節點值
          element.normalize()使得此成為一個"normal"的形式,其中只有結構(如元素,注釋,處理指令,CDATA節和實體引用)隔開Text節點,即元素(包括屬性)下面的所有文本節點,既沒有相鄰的文本節點也沒有空的文本節點
          element.offsetHeight返回,任何一個元素的高度包括邊框和填充,但不是邊距
          element.offsetWidth返回元素的寬度,包括邊框和填充,但不是邊距
          element.offsetLeft返回當前元素的相對水平偏移位置的偏移容器
          element.offsetParent返回元素的偏移容器
          element.offsetTop返回當前元素的相對垂直偏移位置的偏移容器
          element.ownerDocument返回元素的根元素(文檔對象)
          element.parentNode返回元素的父節點
          element.previousSibling返回某個元素緊接之前元素
          element.querySelector()返回匹配指定 CSS 選擇器元素的第一個子元素
          document.querySelectorAll()返回匹配指定 CSS 選擇器元素的所有子元素節點列表
          element.removeAttribute()從元素中刪除指定的屬性
          element.removeAttributeNode()刪除指定屬性節點并返回移除后的節點。
          element.removeChild()刪除一個子元素
          element.removeEventListener()移除由 addEventListener() 方法添加的事件句柄
          element.replaceChild()替換一個子元素
          element.scrollHeight返回整個元素的高度(包括帶滾動條的隱蔽的地方)
          element.scrollLeft返回當前視圖中的實際元素的左邊緣和左邊緣之間的距離
          element.scrollTop返回當前視圖中的實際元素的頂部邊緣和頂部邊緣之間的距離
          element.scrollWidth返回元素的整個寬度(包括帶滾動條的隱蔽的地方)
          element.setAttribute()設置或者改變指定屬性并指定值。
          element.setAttributeNode()設置或者改變指定屬性節點。
          element.setIdAttribute()
          element.setIdAttributeNode()
          element.setUserData()在元素中為指定鍵值關聯對象。
          element.style設置或返回元素的樣式屬性
          element.tabIndex設置或返回元素的標簽順序。
          element.tagName作為一個字符串返回某個元素的標記名(大寫)
          element.textContent設置或返回一個節點和它的文本內容
          element.title設置或返回元素的title屬性
          element.toString()一個元素轉換成字符串
          nodelist.item()返回某個元素基于文檔樹的索引
          nodelist.length返回節點列表的節點數目。

          如您還有不明白的可以在下面與我留言或是與我探討QQ群308855039,我們一起飛!

          avaScript 的 Rest 和 Spread 操作符自 ES6 引入以來,大大改變了開發者處理數組和對象的方式。這些操作符提供了更簡潔、更易讀的語法,使代碼更易于理解和維護。本文將介紹如何有效地使用 Rest 和 Spread 操作符,并通過示例進行說明。

          Rest 和 Spread 操作符簡介

          Rest 操作符(...)允許你將多個元素收集到一個數組或對象中,通常用于函數參數中,將參數列表轉換為數組。而 Spread 操作符(...)則用于將數組或對象展開為單個元素,這在復制、合并或傳遞數組和對象時特別有用。

          理解并掌握這些操作符可以大大提升你的 JavaScript 編碼水平,使代碼更加簡潔和富有表現力。

          Rest 操作符的應用

          函數參數處理

          Rest 操作符在函數定義中非常有用,可以處理不定數量的參數:

          function multiply(...numbers) {
            return numbers.reduce((product, number) => product * number, 1);
          }
          console.log(multiply(2, 3, 4)); // 輸出: 24

          在這個例子中,multiply 函數接受任意數量的參數并進行相乘。Rest 操作符將所有參數收集到 numbers 數組中,使得可以輕松應用 reduce 等數組方法。

          數組解構

          Rest 操作符還可以在數組解構中使用,將剩余元素收集到一個新數組中:

          const [head, ...tail] = ['a', 'b', 'c', 'd'];
          console.log(head);  // 輸出: 'a'
          console.log(tail);  // 輸出: ['b', 'c', 'd']

          在這個例子中,數組的第一個元素被賦值給 head,其余元素則被收集到 tail 數組中。

          Spread 操作符的應用

          數組合并

          使用 Spread 操作符,數組合并變得非常簡單:

          const fruits = ['apple', 'banana'];
          const vegetables = ['carrot', 'potato'];
          const food = [...fruits, ...vegetables];
          console.log(food); // 輸出: ['apple', 'banana', 'carrot', 'potato']

          在這個例子中,Spread 操作符將 fruitsvegetables 展開為單個元素并合并到 food 數組中。

          數組復制

          創建數組副本同樣很方便:

          const numbers = [1, 2, 3];
          const numbersCopy = [...numbers];
          console.log(numbersCopy); // 輸出: [1, 2, 3]

          這樣創建了一個包含與 numbers 數組相同元素的新數組 numbersCopy,修改 numbersCopy 不會影響 numbers。

          對象合并

          Spread 操作符還可以用于對象的合并:

          const person = { name: 'Alice', age: 25 };
          const job = { title: 'developer', company: 'Tech Co.' };
          const employee = { ...person, ...job };
          console.log(employee); // 輸出: { name: 'Alice', age: 25, title: 'developer', company: 'Tech Co.' }

          在這個例子中,personjob 被合并到 employee 對象中,形成一個新的對象。

          高級技巧

          對象解構中的 Rest 操作符

          Rest 操作符可以在對象解構中使用,收集剩余的屬性:

          const { title, ...details } = { title: 'Book', author: 'John Doe', year: 2021 };
          console.log(title);    // 輸出: 'Book'
          console.log(details);  // 輸出: { author: 'John Doe', year: 2021 }

          這個例子展示了如何提取特定屬性(title),同時將剩余屬性收集到 details 對象中。

          Spread 操作符用于函數參數

          在調用接受多個參數的函數時,Spread 操作符可以簡化傳遞數組元素作為參數:

          function concatenate(str1, str2, str3) {
            return str1 + str2 + str3;
          }
          const words = ['Hello', ' ', 'World!'];
          console.log(concatenate(...words)); // 輸出: 'Hello World!'

          通過展開 words 數組,每個元素作為獨立參數傳遞給 concatenate 函數。

          結論

          JavaScript 中的 Rest 和 Spread 操作符是強大的工具,可以極大地增強代碼的靈活性和可讀性。不論是處理數組、對象還是函數參數,這些操作符都能提供優雅的解決方案。通過掌握這些操作符,你可以編寫更簡潔、高效的代碼,提升整體開發體驗。

          理解并有效使用 Rest 和 Spread 操作符,不僅可以簡化當前項目,還能為未來的挑戰做好準備,使你的 JavaScript 代碼更易維護和表達。


          主站蜘蛛池模板: 亚洲国产成人久久一区久久| 亚洲一区二区三区香蕉| 精品人妻无码一区二区色欲产成人| 成人免费一区二区三区| 国产免费一区二区三区免费视频| 中文字幕在线无码一区二区三区| 波多野结衣AV无码久久一区| 人妻无码视频一区二区三区| 亚洲sm另类一区二区三区| 国产大秀视频一区二区三区| 中文字幕一区二区三区永久| 无码精品视频一区二区三区| 伊人色综合网一区二区三区 | 日韩视频一区二区| 中文字幕国产一区| 精品不卡一区二区| 一区二区三区四区在线视频| 亚洲av无码不卡一区二区三区| 国产精品电影一区| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 无码av中文一区二区三区桃花岛| 夜夜精品无码一区二区三区| 日韩av无码一区二区三区| 精品一区二区三区电影| 蜜臀Av午夜一区二区三区| 狠狠爱无码一区二区三区| 日韩精品一区二区三区中文| 日本在线视频一区| 亚洲丰满熟女一区二区哦| 国产精品无圣光一区二区 | 日本亚洲国产一区二区三区| 亚洲日韩一区精品射精| 中文字幕一区日韩在线视频 | 鲁丝丝国产一区二区| 日本精品一区二区三区在线观看| 婷婷亚洲综合一区二区| 3d动漫精品啪啪一区二区免费| 国产精品第一区第27页| 国产免费av一区二区三区| 97人妻无码一区二区精品免费| 香蕉一区二区三区观|