使用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 相关文章推荐
关于jquery性能最佳实践的讨论,与求教
Mar 30 Javascript
一个基于jQuery的树型插件(OrangeTree)使用介绍
May 03 Javascript
Jvascript学习实践案例(开发常用)
Jun 25 Javascript
js中数组(Array)的排序(sort)注意事项说明
Jan 24 Javascript
JavaScript中的函数的两种定义方式和函数变量赋值
May 12 Javascript
Javascript 高阶函数使用介绍
Jun 15 Javascript
基于jQuery实现交互体验社会化分享代码附源码下载
Jan 04 Javascript
JavaScript通过HTML的class来获取HTML元素的方法总结
May 24 Javascript
微信小程序实现添加手机联系人功能示例
Nov 30 Javascript
JavaScript比较同一天的时间大小实例代码
Feb 09 Javascript
vue.js给动态绑定的radio列表做批量编辑的方法
Feb 28 Javascript
vue导入.md文件的步骤(markdown转HTML)
Dec 31 Vue.js
深入理解 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将会员数据导入到ucenter的代码
2010/07/18 PHP
PHP面向对象的进阶学习(抽像类、接口、final、类常量)
2012/05/07 PHP
php通过前序遍历树实现无需递归的无限极分类
2015/07/10 PHP
php pdo操作数据库示例
2017/03/10 PHP
thinkPHP5 tablib标签库自定义方法详解
2017/05/10 PHP
Yii框架扩展CGridView增加导出CSV功能的方法
2017/05/24 PHP
详解thinkphp中的volist标签
2018/01/15 PHP
Laravel框架基于中间件实现禁止未登录用户访问页面功能示例
2019/01/17 PHP
PHP中引用类型和值类型功能与用法示例
2019/02/26 PHP
jQuery 数据缓存data(name, value)详解及实现
2010/01/04 Javascript
使用js如何实现全选与全不选
2013/12/30 Javascript
详解JavaScript中undefined与null的区别
2014/03/29 Javascript
js判断文本框剩余可输入字数的方法
2015/02/04 Javascript
jQuery侧边栏实现代码
2016/05/06 Javascript
js实现动态显示时间效果
2017/03/06 Javascript
微信小程序 http请求的session管理
2017/06/07 Javascript
JavaScript中正则表达式判断匹配规则及常用方法
2017/08/03 Javascript
微信小程序getLocation 需要在app.json中声明permission字段
2020/03/03 Javascript
浅谈Pandas中map, applymap and apply的区别
2018/04/10 Python
python openCV获取人脸部分并存储功能
2019/08/28 Python
利用python计算时间差(返回天数)
2019/09/07 Python
python加密解密库cryptography使用openSSL生成的密匙加密解密
2020/02/11 Python
python 的numpy库中的mean()函数用法介绍
2020/03/03 Python
Python Scrapy多页数据爬取实现过程解析
2020/06/12 Python
Topshop法国官网:英国快速时尚品牌
2018/04/08 全球购物
Godiva巧克力英国官网:比利时歌帝梵巧克力
2018/08/28 全球购物
轻松制作精彩视频:Animoto
2018/09/19 全球购物
Dyson戴森波兰官网:Dyson.pl
2019/08/05 全球购物
可爱的童装和鞋子:Fabkids
2019/08/16 全球购物
30岁生日感言
2014/01/25 职场文书
临床专业自荐信
2014/06/22 职场文书
授权委托书公证
2014/09/14 职场文书
就业导师推荐信范文
2015/03/27 职场文书
暖春观后感
2015/06/08 职场文书
《绝招》教学反思
2016/02/20 职场文书
python异常中else的实例用法
2021/06/15 Python