如何用JS获取页面上的所有标签
最近忙的一匹,忙着大保健,都来不及写博客,今天特意抽出点时间来写一写
前两天看到一个题,是问如何从页面上获取所有的标签的并查看他们的数量,感觉还是有点意思的,所以给大家来搞一下子
我们先来捋捋思路,那要从页面上获取标签,不用说我们肯定会想到DOM操作,那获取到了之后呢,我们又不确定某个元素有没有子元素,那怎么办呢,这个时候我们肯定会想到递归啊
那现在我们有了DOM操作和递归就好办了,就可以直接写代码了,下面是代码,写了注释,大家可以拉下去参考一下
1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 8 <title>Document</title> 9 </head> 10 11 <body> 12 <ul></ul> 13 </body> 14 15 </html> 16 <script> 17 var map = {}; 18 //采用递归调用的方法,比较方便和简单。 19 function fds(node) { 20 21 if (node.nodeType === 1) { 22 //这里我们用nodeName属性,直接获取节点的节点名称 23 var tagName = node.nodeName; 24 //判断对象中存在不存在同类的节点,若存在则添加,不存在则添加并赋值为1 25 map[tagName] = map[tagName] ? map[tagName] + 1 : 1; 26 } 27 //获取该元素节点的所有子节点 28 var children = node.childNodes; 29 for (var i = 0; i < children.length; i++) { 30 //递归调用 31 fds(children[i]) 32 } 33 } 34 fds(document); 35 console.log(map) 36 </script>
转载于:https://www.cnblogs.com/suihang/p/9806352.html
如何用JS获取页面上的所有标签相关推荐
- 用JavaScript获取页面上被选中的文字的技巧
这里介绍的一个小技巧是如何用JavaScript获取页面上被选中的文字的方法.最关键的JavaScript API是: event.selection = window.getSelection(); ...
- js setCapture() releaseCapture() 获取页面上发生的所有的事件
setCapture() IE独有 div.setCapture() 这个div会获取页面上发生的所有的事件 捕获到自己身上来 div.releaseCapture() ;//清除 setCaptur ...
- 神策数据王磊:如何用 JS 实现页面录制与回放
本文根据神策数据资深前端研发工程师王磊<如何用 JS 实现页面录制与回放>的直播整理而成.以下为正文: 一.业务背景 对于研发来说,总是需要处理一些线上问题.To B 和 To C 企业在 ...
- 原生js获取html元素高度,js获取页面及个元素高度、宽度的代码
网页可见区域宽: document.body.clientWidth; 网页可见区域高: document.body.clientHeight; 网页可见区域宽: document.body.offs ...
- js 获取页面鼠标选中的文字
js获取页面鼠标选中的文字,最主要的代码 event.selection = window.getSelection(); 页面代码 <div><p class="cont ...
- JS获取页面元素并修改
//实现代码如下,非常简单<script>(function(){var ele = document.getElementsByTagName("ul"); //获取 ...
- js获取页面光标坐标(x轴y轴)
问题详情 js获取页面光标坐标(x轴y轴) 解决方案 // 获取当前位置 getPosition() {setTimeout(() => {// 获取当前光标位置getSelection()co ...
- JS 获取url上的参数
JS 获取url上的参数 – 实用 const url = decodeURI(decodeURI(window.location.href)) console.log(getQuery(url)); ...
- html 获得div的高度,如何用js获取div不确定的自适应高度(currentStyle与offsetHeight)...
设计网页时,一些元素(如div)因显示的内容多少事先不确定,所以不能固定高度,也就是让它根据内容的多少自动调整高度,即自适应高度. 对于div元素不确定的自适应高度,如何用js获取当前高度呢?一般有两 ...
最新文章
- Linux 操作系统原理 — 内存 — 基于局部性原理实现的内/外存交换技术
- ESFramework网络通信框架介绍之(3)――消息处理器和处理器工厂
- IntelliJ IDEA 编译错误,提示 Compilation failed: internal java compiler error或java compiler failed
- swift -- 数组
- 无路可逃:Oracle 12.2 BigSCN新特性可能的DB Link兼容性问题
- 1.3、解析并创建ApplicationListener(ok)
- 实验:基于keepalived实现两台realserver服务器中的nginx和php-fpm服务互为主从
- 转件工程--实践者的研究方法阅读笔记1
- 交通灯c语言单片机程序,基于51单片机的一个简单交通灯程序
- python大数据之数据分割(含k折交叉验证)
- oracle的odac dll,.NET2.0中施用最少的ODAC动态库文件连接Oracle数据库
- 【渝粤题库】广东开放大学 期货与期权 形成性考核
- PDF编辑方法,怎么在PDF中添加图片
- 小胜凭智, 大胜靠德
- java的简单逻辑博彩游戏craps
- 今天是星期一,两天后是星期三,5天后是星期六;今天是星期六,3天后是星期二。
- 战国李悝的“识人五法
- iOS视频添加水印两种方式(不用到第三方框架)
- Android接入极光推送,接入华为,小米,OPPO,VIVO厂商通道
- SAP 银企直连 常用事务代码,表名,类名
热门文章
- K8S部署工具:KubeOperator集群部署
- Hadoop集群添加新节点正确操作步骤
- Python报错:IndentationError: unindent does not match any outer indentation level解决办法
- Python Django URL逆向解析(通过Python代码逆向访问)代码示例
- HDFS分布式文件系统理论知识
- Java中的同步集合与并发集合有什么区别?
- spring boot整合freemarker及freemarker基础语法超详细讲解
- 【比较面】真核生物和原核生物的异同
- 深入String、StringBuilder、StringBuffer
- matlab信息隐藏算法,实验四--基于DCT域的信息隐藏算法