JavaScript 獲取所有後代元素節點
使用jQuery可以非常輕鬆的獲取指定元素節點的所有元素節點。
具體可以參閱jQuery find()一章節。
下面通過程式碼例項介紹一下如何利用JavaScript實現此功能。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script type="text/javascript"> window.onload=function(){ var obox=document.getElementById("box"); var oshow=document.getElementById("show"); function findNodes(node){ var arr=[]; function done(node){ if(node.children.length!=0){ var childrenNodes=node.children; for(var index=0;index<childrenNodes.length;index++){ arr.push(childrenNodes[index]); done(childrenNodes[index]); } } } done(node) return arr; } oshow.innerHTML=findNodes(obox).length; } </script> </head> <body> <div id="show"></div> <div id="box"> <div> <ul> <li>螞蟻部落一</li> <li>螞蟻部落二</li> <li>螞蟻部落三</li> </ul> </div> </div> </body> </html>
上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).window.onload=function(){},當文件內容完全載入完畢再去執行函式中的程式碼。
(2).var obox=document.getElementById("box"),獲取id屬性值為box的元素。
(3).var oshow=document.getElementById("show"),獲取id屬性值為show的元素。
(4).function findNodes(node){},引數是一個元素節點物件,可以獲取它的所有後代元素節點。
(5).var arr=[],建立一個空陣列,用來儲存box元素下的所有子元素節點。
(6).function done(node){},使用遞迴的方式獲取元素的子元素,於是可以實現獲取所有的後代元素。(7).f(node.children.length!=0),如果node元素的子節點元素不為0.
(8).var childrenNodes=node.children,獲取子節點元素的數目。
(9).for(var index=0;index<childrenNodes.length;index++){
arr.push(childrenNodes[index]);
done(childrenNodes[index]);
},使用for迴圈方式遍歷每一個子元素節點,並將當前子元素壓入陣列,並且遞迴呼叫done()函式。
(10).done(node),呼叫done()函式。
(11).return arr,返回陣列物件。
(12).oshow.innerHTML=findNodes(obox).length,將陣列長度寫入指定的div中。
二.相關閱讀:
(1).children可以參閱JavaScript children一章節。
(2).push()參閱JavaScript push()一章節。
(3).innerHTML參閱JavaScript innerHTML一章節。
相關文章
- JavaScript獲取父元素下子元素節點JavaScript
- jquery獲取元素節點jQuery
- JavaScript 獲取下一個元素節點JavaScript
- JavaScript獲取陣列最後一個元素JavaScript陣列
- 封裝js獲取當前元素的弟弟元素節點封裝JS
- 獲取當前元素在兄弟元素節點中的索引索引
- JavaScript監聽後代節點改變JavaScript
- CSS 獲取所有緊鄰兄弟元素CSS
- css 獲取從第n個開始,之後的所有元素CSS
- JavaScript 獲取第n個li元素JavaScript
- JavaScript 通過class獲取元素物件JavaScript物件
- JavaScript獲取元素在文件中座標JavaScript
- JavaScript獲取滑鼠在元素中的座標JavaScript
- JavaScript獲取元素在陣列中的位置JavaScript陣列
- JavaScript 獲取指定標籤一級子元素JavaScript
- JavaScript 獲取倒數第二個li元素JavaScript
- JavaScript刪除元素節點程式碼例項JavaScript
- JavaScript獲取兩個日期之間所有的日期JavaScript
- JavaScript獲取元素距離文件頂部的距離JavaScript
- JS 獲取文件元素JS
- JavaScript獲取瀏覽器、元素、螢幕的寬高尺寸JavaScript瀏覽器
- 獲取BT節點資訊bittorrent-discovery
- js獲取dom節點的方法有哪些JS
- 資料庫——查詢樹形結構某節點的所有子節點、所有父節點資料庫
- JavaScript文字框獲取焦點彈出tipsJavaScript
- dom元素操作獲取等
- mysql根據節點查詢所有葉節點MySql
- JavaScript 獲取月份最後一天日期JavaScript
- JavaScript獲取當前站點的域名和埠號JavaScript
- json 陣列已知父節點,求所有子節點JSON陣列
- 獲取gridview所有行的idView
- jquery如何獲取第一個或最後一個子元素?jQuery
- JavaScript學習之DOM(節點、節點層級、節點操作)JavaScript
- JavaScript cloneNode() 克隆節點JavaScript
- Appium Android 獲取WebView元素的方法APPAndroidWebView
- Revit獲取元素的巢狀族巢狀
- 怎樣獲取jstree的節點資料_大資料獲客是怎樣獲取精準客源的JS大資料
- JavaScript—獲取引數(23)JavaScript