本篇文章帶給大家的內容是介紹使用js取得頁面上的所有標籤的方法(程式碼詳解)。有一定的參考價值,有需要的朋友可以參考一下,希望對你們有幫助。
前兩天看到一個題,是問如何從頁面上獲取所有的標籤的並查看他們的數量,感覺還是有點意思的,所以給大家來搞一下子
#我們先來捋捋思路,那要從頁面上獲取標籤,不用說我們肯定會想到DOM操作,那獲取到了之後呢,我們又不確定某個元素有沒有子元素,那怎麼辦呢,這個時候我們一定會想到遞歸啊
那現在我們有了DOM操作和遞歸就好辦了,就可以直接寫程式碼了,下面是程式碼,寫了註釋,大家可以拉下去參考一下
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <ul></ul> </body> </html> <script> var map = {}; //采用递归调用的方法,比较方便和简单。 function fds(node) { if (node.nodeType === 1) { //这里我们用nodeName属性,直接获取节点的节点名称 var tagName = node.nodeName; //判断对象中存在不存在同类的节点,若存在则添加,不存在则添加并赋值为1 map[tagName] = map[tagName] ? map[tagName] + 1 : 1; } //获取该元素节点的所有子节点 var children = node.childNodes; for (var i = 0; i < children.length; i++) { //递归调用 fds(children[i]) } } fds(document); console.log(map) </script>
以上是使用js取得頁面上的所有標籤的方法(程式碼詳解)的詳細內容。更多資訊請關注PHP中文網其他相關文章!