首頁 web前端 js教程 Element Traversal實現元素遍歷詳解

Element Traversal實現元素遍歷詳解

Apr 27, 2018 pm 04:08 PM
element 遍歷

這次帶給大家 Element Traversal實現元素遍歷詳解, Element Traversal實現元素遍歷的注意事項有哪些,下面就是實戰案例,一起來看一下。

對於元素間的空格,在IE9之前,都不會傳回文檔節點,其它的所有瀏覽器都會傳回文檔節點。

為了相容瀏覽器這間的差異,又不更改已有的DOM 標準,所以有了 Element Traversal 規範。

這個規範為元素增加了5 個屬性

childElementCount
firstElementChild
lastElementChild
previousElementSibling
nextElementSibling
登入後複製

對於元素間的空格,IE9以前的版本不會傳回文字節點,而其他瀏覽器都會將空格當做是文字節點返回。這就導致了使用childNodes和firstChild的屬性時行為的不一致。為了彌補這一差異,同時又維持DOM規範的不變,W3C Element Traversal規範新定義了一組屬性。

Element Traversal API為DOM元素新增了下列5個屬性:

  • childElementCount:傳回子元素(不包含文字節點和註解)的個數。

  • firstElementChild:指向第一個子元素。

  • lastElementChild:指向最後一個子元素。

  • previousElementSibling:指向前一個同儕元素。

  • nextElementSibling:指向後一個同儕元素。

支援的瀏覽器為DOM元素添加了這些屬性,利用這些元素不必擔心空白文字節點,從而可以非常方便的查找DOM元素了。

下面是一個範例。在以前,要跨瀏覽器遍歷某個元素的所有子元素時,需要像下面這樣編寫程式碼:

var i,len,child = element.firstChild;
while(child != element.lastChild){
 if(child.nodeType == 1){
  processChild(child);
 }
 child = child.nextSibling;
}
登入後複製

而使用Element Traversal新增的屬性,程式碼就會變得非常簡潔:

var i,len,child = element.firstElementChild;
while(child != element.lastElementChild){
 processChild(child);
 child = child.nextElementSibling;
}
登入後複製

支援Element Traversal規範的瀏覽器有:IE9 ,Firfox3.5 ,Safari4 ,Chrome和Opera10 。

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

React怎麼實作diff演算法

#Vue實作雙向資料綁定功能(附程式碼)

以上是Element Traversal實現元素遍歷詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

element.style怎麼修改 element.style怎麼修改 Nov 24, 2023 am 11:15 AM

element.style修改元素的方法:1、修改元素的背景顏色;2、修改元素的字體大小;3、修改元素的邊框樣式;4、修改元素的字體樣式;5、修改元素的水平對齊方式。詳細介紹:1、修改元素的背景顏色,其語法為「document.getElementById("myElement").style.backgroundColor = "red";」;2、修改元素的字體大小等等。

Java如何遍歷資料夾並取得所有檔案名 Java如何遍歷資料夾並取得所有檔案名 Mar 29, 2024 pm 01:24 PM

Java是一種流行的程式語言,具有強大的檔案處理功能。在Java中,遍歷資料夾並取得所有檔案名稱是一種常見的操作,可以幫助我們快速定位和處理特定目錄下的檔案。本文將介紹如何在Java中實作遍歷資料夾並取得所有檔案名稱的方法,並提供具體的程式碼範例。 1.使用遞歸方法遍歷資料夾我們可以使用遞歸方法遍歷資料夾,遞歸方法是一種自身呼叫自身的方式,可以有效地遍歷資料夾中

PHP glob()函數使用範例:遍歷指定資料夾中的所有文件 PHP glob()函數使用範例:遍歷指定資料夾中的所有文件 Jun 27, 2023 am 09:16 AM

PHPglob()函數使用範例:遍歷指定資料夾中的所有文件在PHP開發中,經常需要遍歷指定資料夾中的所有文件,以實現檔案批次操作或讀取。 PHP的glob()函數正是用來實現這種需求的。 glob()函數可以透過指定一個通配符匹配模式,來取得指定資料夾中符合條件的所有檔案的路徑資訊。在這篇文章中,我們將會示範如何使用glob()函數來遍歷指定資料夾中的所有文件

Java Iterator 與 Iterable 的深入比較:優缺點分析 Java Iterator 與 Iterable 的深入比較:優缺點分析 Feb 19, 2024 pm 04:20 PM

概念差異:Iterator:Iterator是一個接口,代表一個從集合中取得值的迭代器。它提供了MoveNext()、Current()和Reset()等方法,讓你遍歷集合中的元素,並對目前元素進行操作。 Iterable:Iterable也是一個接口,代表一個可迭代的物件。它提供了Iterator()方法,用於傳回一個Iterator對象,以便於遍歷集合中的元素。使用方式:Iterator:要使用Iterator,需要先取得一個Iterator對象,然後呼叫MoveNext()方法來移動到下一

Python 3.x 中如何使用os模組遍歷目錄中的文件 Python 3.x 中如何使用os模組遍歷目錄中的文件 Jul 29, 2023 pm 02:57 PM

Python3.x中如何使用os模組遍歷目錄中的檔案在Python中,我們可以使用os模組來進行檔案和目錄的操作。 os模組是Python標準庫中的重要模組,提供了許多和作業系統相關的功能。在本文中,我們將介紹如何使用os模組來遍歷一個目錄中的所有檔案。首先,我們需要導入os模組:importos接下來,我們可以使用os.walk()函數來遍歷目錄。

如何使用Python實作二元樹的遍歷 如何使用Python實作二元樹的遍歷 Jun 09, 2023 pm 09:12 PM

作為一種常用的資料結構,二元樹經常被用來儲存資料、搜尋和排序。遍歷二元樹是非常常見的操作之一。 Python作為一種簡單易用的程式語言,有許多方法可以實作二元樹的遍歷。本文將介紹如何使用Python實現二元樹的前序、中序和後序遍歷。二元樹的基礎在學習二元樹的遍歷之前,我們需要先了解二元樹的基本概念。二元樹由節點組成,每個節點都有一個值和兩個子節點(左子節點和右子

在C++中遞歸插入和遍歷鍊錶 在C++中遞歸插入和遍歷鍊錶 Sep 10, 2023 am 09:21 AM

我們得到了用於形成鍊錶的整數值。任務是使用遞歸方法先插入然後遍歷單鍊錶。在末尾遞歸新增節點如果head為NULL→將節點加入head否則加入head(head→next)遞歸遍歷節點如果head為NULL→退出否則列印(head→next)範例輸入−1-2-7-9 -10輸出輸出strong>−鍊錶:1→2→7→9→10→NULL輸入−12-21-17-94-18輸出−鍊錶:12→21→17→94→18→NULL下面程式中使用的方法如下在這種方法中,我們將使用函數新增節點並遍歷單鍊錶並遞

Java Iterator與Iterable:集合遍歷的金鑰,揭開其神秘面紗 Java Iterator與Iterable:集合遍歷的金鑰,揭開其神秘面紗 Feb 20, 2024 am 10:27 AM

Iterator簡介Iterator是Java中用於遍歷集合的介面。它提供了一組方法,讓您以順序的方式存取集合中的元素。您可以使用Iterator來遍歷List、Set和Map等集合類型。示範程式碼:Listlist=newArrayList();list.add("one");list.add("two");list.add("three");Iteratoriterator=list.iterator();while(iter

See all articles