使用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 相关文章推荐
Maps Javascript
Jan 22 Javascript
jQuery中:nth-child选择器用法实例
Dec 31 Javascript
jquery+php实现滚动的数字特效
Nov 29 Javascript
node.js实现爬虫教程
Aug 25 Javascript
AngularJs实现分页功能不带省略号的代码
May 30 Javascript
微信小程序 实例开发总结
Apr 26 Javascript
nginx+vue.js实现前后端分离的示例代码
Feb 12 Javascript
基于jquery实现左右上下移动效果
May 02 jQuery
详解VUE调用本地json的使用方法
May 15 Javascript
vue-socket.io接收不到数据问题的解决方法
May 13 Javascript
Element InputNumber计数器的使用方法
Jul 27 Javascript
解决pycharm双击但是无法打开的情况
Oct 31 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更新修改excel中的内容实例代码
2014/02/26 PHP
WordPress中调试缩略图的相关PHP函数使用解析
2016/01/07 PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
2016/11/14 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
javascript 动态添加事件代码
2008/11/30 Javascript
jQuery中的bind绑定事件与文本框改变事件的临时解决方法
2010/08/13 Javascript
JavaScript中匿名、命名函数的性能测试
2014/09/04 Javascript
javascript中的this详解
2014/12/08 Javascript
jQuery对象的selector属性用法实例
2014/12/27 Javascript
JS获取CSS样式(style/getComputedStyle/currentStyle)
2016/01/19 Javascript
js实现div模拟模态对话框展现URL内容
2016/05/27 Javascript
js简单实现图片延迟加载的方法
2016/07/19 Javascript
jQuery简单倒计时效果完整示例
2016/09/20 Javascript
基于BootstrapValidator的Form表单验证(24)
2016/12/12 Javascript
微信小程序中实现手指缩放图片的示例代码
2018/03/13 Javascript
AngularJS 应用模块化的使用
2018/04/04 Javascript
Vue中使用的EventBus有生命周期
2018/07/12 Javascript
微信小程序模板template简单用法示例
2018/12/04 Javascript
vue+layui实现select动态加载后台数据的例子
2019/09/20 Javascript
JS 创建对象的模式实例小结
2020/04/28 Javascript
vue.js实现点击图标放大离开时缩小的代码
2021/01/27 Vue.js
解决matplotlib库show()方法不显示图片的问题
2018/05/24 Python
Python爬取qq空间说说的实例代码
2018/08/17 Python
解决python执行不输出系统命令弹框的问题
2019/06/24 Python
selenium切换标签页解决get超时问题的完整代码
2020/08/30 Python
html5 canvas fillRect坐标和大小的问题解决方法
2014/03/26 HTML / CSS
DHC美国官网:日本通信销售第一的化妆品品牌
2017/11/12 全球购物
墨西哥巴士车票在线购买:ClickBus
2018/03/27 全球购物
美国婴儿和儿童家具网上商店:ABaby.com
2018/07/02 全球购物
Roxy荷兰官方网站:冲浪、滑雪板、服装和配件
2019/10/22 全球购物
教师求职信范文分享
2013/12/27 职场文书
前台文员个人求职信范文
2014/01/05 职场文书
幼儿教师研修感言
2014/02/12 职场文书
交通安全标语
2014/06/06 职场文书
2014年党员自我评议(5篇)
2014/09/12 职场文书
升学宴学生致辞
2015/09/29 职场文书