javascript輸出頁面節點層級效果
本章節分享一段程式碼例項,它實現了能夠輸出html頁面節點層級關係效果。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script type="text/javascript"> var ResultStr = ""; function ListNode(node,level) { PrintInfo(node, level); level++; var nodes = node.childNodes; for (var index = 0; index < nodes.length; index++) { if (nodes[index].hasChildNodes()) { ListNode(nodes[index], level); //遞迴 } else { PrintInfo(nodes[index], level); } } } function getSpace(level) { var s = ""; for (var index = 0; index < level; index++) { s+="!----" } return s; } function PrintInfo(node, level) { ResultStr += getSpace(level) + "Name:" + node.nodeName + "...Type:" + node.nodeType + "...Value:" + node.nodeValue + "<br />"; } function getDocAllInfo() { ResultStr = ""; ListNode(document, 0); document.write(ResultStr); } window.onload=function(){ var obt=document.getElementById("bt"); obt.onclick=function(){ getDocAllInfo() } } </script> </head> <body> <input type="button" id="bt" value="檢視效果"/> <div id="divDemo">div內容</div> <table> <tr> <td>螞蟻部落一</td> <td>螞蟻部落二</td> </tr> <tr> <td>螞蟻部落三</td> <td>螞蟻部落四</td> </tr> </table> <input type="text" /> <span>這是span元素</span> <!--螞蟻註釋--> </body> </html>
上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).var ResultStr = "",宣告一個字串並賦值為空,用來儲存輸出節點的層級內容。
(2).function ListNode(node,level) {},此函式實現了節點層級以字串表示的功能,第一個引數是元素節點,第二個引數是層級,最外層docment層級是0,依次類推。
(3).PrintInfo(node, level),輸出層級結構。
(4).level++,層級加1。
(5).var nodes = node.childNodes,獲取node節點的所有子節點。
(6).for (var index = 0; index < nodes.length; index++) {},遍歷每一個節點。
(7).if (nodes[index].hasChildNodes()) {
ListNode(nodes[index], level);
},如果當前節點節點具有子節點,那麼再進行遞迴操作。
(8).else {
PrintInfo(nodes[index], level);
},否則直接將層級結構連線成字串儲存起來。
(9).function getSpace(level) {
var s = "";
for (var index = 0; index < level; index++) {
s+="!----"
}
return s;
},此函式可以在結構錢新增-作為層級層次。
(10).function PrintInfo(node, level) {
ResultStr += getSpace(level) + "Name:" + node.nodeName +
"...Type:" + node.nodeType + "...Value:" + node.nodeValue + "<br />";
},將層級結構連線成字串。
二.相關閱讀:
(1).childNodes可以參閱childNodes一章節。
(2).hasChildNodes()可以參閱javascript hasChildNodes()一章節。
相關文章
- JavaScript學習之DOM(節點、節點層級、節點操作)JavaScript
- JavaScript點選按鈕彈出層效果JavaScript
- 社群 - 所有節點,進入節點頁面返回中間頁顯示蒙層
- JavaScript 頁面跳轉效果JavaScript
- 點選返回網頁頂層效果網頁
- JavaScript 字元逐個輸出效果JavaScript字元
- javascript 緩慢出現的廣告層效果JavaScript
- app直播原始碼,彈出層 加遮罩層 頁面禁止滑動APP原始碼遮罩
- 獲取頁面中所有元素的節點型別型別
- js禁用頁面所有輸入框以及點選事件JS事件
- JavaScript獲取下一個同級元素節點JavaScript
- javascript層自動關閉效果JavaScript
- JavaScript 省市級聯效果JavaScript
- ASP.NET 2.0中的頁面輸出快取ASP.NET快取
- js頁面跳轉的問題(跳轉到父頁面、最外層頁面、本頁面)JS
- javascript 跳轉頁面JavaScript
- 前端 -- 頁面濾鏡效果及高斯模糊效果前端
- jquery登入頁面效果圖jQuery
- 遮罩層禁止頁面滾動遮罩
- JavaScript 點選頁面其他地方關閉視窗JavaScript
- 利用JavaScript實現註冊頁面省市聯動效果(附程式碼)JavaScript
- 點選按鈕實現切換頁面背景顏色效果
- vue頁面有彈層,禁止頁面滾動Vue
- 頁面輸出過濾外掛--最新icp備案需要
- 系統快取全解析2:頁面輸出快取快取
- Unix檔案系統頁面監控實現-效果頁面
- JavaScript cloneNode() 克隆節點JavaScript
- javascript頁面元素座標JavaScript
- jQuery拖拽的彈出層效果jQuery
- js頁面全屏垂直滾動效果JS
- jQuery地圖熱點效果-滑鼠經過彈出提示層資訊jQuery地圖
- Python 自用程式碼(scrapy多級頁面(三級頁面)爬蟲)Python爬蟲
- 【JavaScript】前端演算法題(重建二叉樹、反向輸出連結串列每個節點)JavaScript前端演算法二叉樹
- 爬蟲技術:(JavaScript渲染)動態頁面抓取超級指南爬蟲JavaScript
- jquery連線html頁面做一個彈出框輸入jQueryHTML
- Nuxt頁面級快取UX快取
- javascript點選彈出可以關閉帶有灰色背景彈出層JavaScript
- 【單頁應用】我們該如何處理框架彈出層層級關係?框架