使用JS获取页面上的所有标签


Posted in Javascript onOctober 18, 2018

最近忙的一匹,忙着大保健,都来不及写博客,今天特意抽出点时间来写一写

前两天看到一个题,是问如何从页面上获取所有的标签的并查看他们的数量,感觉还是有点意思的,所以给大家来搞一下子

我们先来捋捋思路,那要从页面上获取标签,不用说我们肯定会想到DOM操作,那获取到了之后呢,我们又不确定某个元素有没有子元素,那怎么办呢,这个时候我们肯定会想到递归啊

那现在我们有了DOM操作和递归就好办了,就可以直接写代码了,下面是代码,写了注释,大家可以拉下去参考一下

<!DOCTYPE html>
<html lang="en">
<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获取页面上的所有标签,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
精通Javascript系列之数据类型 字符串
Jun 08 Javascript
情人节之礼 js项链效果
Feb 13 Javascript
Extjs的FileUploadField文件上传出现了两个上传按钮
Apr 29 Javascript
js使用setTimeout实现定时炸弹的方法
Apr 10 Javascript
javascript实现简单的进度条
Jul 02 Javascript
JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解
Aug 06 Javascript
深入JavaScript高级程序设计之对象、数组(栈方法,队列方法,重排序方法,迭代方法)
Dec 01 Javascript
Bootstrap modal使用及点击外部不消失的解决方法
Dec 13 Javascript
微信小程序dom操作的替代思路实例分析
Dec 06 Javascript
小程序绑定用户方案优化小结
May 15 Javascript
回顾Javascript React基础
Jun 15 Javascript
vue仿ios列表左划删除
Sep 26 Javascript
深入理解 Koa 框架中间件原理
Oct 18 #Javascript
JS实现十分钟倒计时代码实例
Oct 18 #Javascript
基于Vue实现可以拖拽的树形表格实例详解
Oct 18 #Javascript
JavaScript的词法结构精华篇
Oct 17 #Javascript
Javascript中parseInt的正确使用方式
Oct 17 #Javascript
教你如何编写Vue.js的单元测试的方法
Oct 17 #Javascript
详解vue如何使用rules对表单字段进行校验
Oct 17 #Javascript
You might like
php中定时计划任务的实现原理
2013/01/08 PHP
解析PHP计算页面执行时间的实现代码
2013/06/18 PHP
PHP中使用strpos函数实现屏蔽敏感关键字功能
2014/08/21 PHP
javascript window.opener的用法分析
2010/04/07 Javascript
往光标所在位置插入值的js代码
2013/09/22 Javascript
js 遍历json返回的map内容示例代码
2013/10/29 Javascript
jqGrid中文文档之选项设置
2015/12/02 Javascript
基于jQuery的Web上传插件Uploadify使用示例
2016/05/19 Javascript
详细解读Jquery各Ajax函数($.get(),$.post(),$.ajax(),$.getJSON())
2016/08/15 Javascript
基于Three.js插件制作360度全景图
2016/11/29 Javascript
从零开始学习Node.js系列教程一:http get和post用法分析
2017/04/13 Javascript
JavaScript字符串检索字符的方法
2017/06/23 Javascript
web前端vue之CSS过渡效果示例
2018/01/10 Javascript
vue router嵌套路由在history模式下刷新无法渲染页面问题的解决方法
2018/01/25 Javascript
JavaScript变量声明var,let.const及区别浅析
2018/04/23 Javascript
KOA+egg.js集成kafka消息队列的示例
2018/11/09 Javascript
jquery拖拽自动排序插件使用方法详解
2020/07/20 jQuery
简单实现节流函数和防抖函数过程解析
2019/10/08 Javascript
详解Vue的组件中data选项为什么必须是函数
2020/08/17 Javascript
[56:42]VP vs RNG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python collections模块实例讲解
2014/04/07 Python
python网络编程学习笔记(六):Web客户端访问
2014/06/09 Python
一步步解析Python斗牛游戏的概率
2016/02/12 Python
详解Django-channels 实现WebSocket实例
2019/08/22 Python
Python 操作 PostgreSQL 数据库示例【连接、增删改查等】
2020/04/21 Python
Python求区间正整数内所有素数之和的方法实例
2020/10/13 Python
Numpy数组的广播机制的实现
2020/11/03 Python
查找适用于matplotlib的中文字体名称与实际文件名对应关系的方法
2021/01/05 Python
Puritan’s Pride(普丽普莱)官方网站:美国最大最全的保健品公司之一
2016/10/23 全球购物
家居设计专业个人自荐信范文
2013/11/26 职场文书
群众路线剖析材料怎么写
2014/10/09 职场文书
2015年十一国庆节演讲稿
2015/03/20 职场文书
工程移交协议书
2016/03/24 职场文书
教你怎么用Python实现多路径迷宫
2021/04/29 Python
bose降噪耳机音能消除人声吗
2022/04/19 数码科技
Redis Lua脚本实现ip限流示例
2022/07/15 Redis