使用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在IE或Firefox下获取鼠标位置的代码
Dec 18 Javascript
jQuery Tips 为AJAX回调函数传递额外参数的方法
Dec 28 Javascript
IE6/7/8/9不支持exec的简写方式
May 25 Javascript
jQuery 获取URL的GET参数值的小例子
Apr 18 Javascript
Js实现当前点击a标签变色突出显示其他a标签回复原色
Nov 27 Javascript
javascript实现博客园页面右下角返回顶部按钮
Feb 22 Javascript
Jquery ajax基础教程
Nov 20 Javascript
浅析Bootstrip的select控件绑定数据的问题
May 10 Javascript
微信小程序获取手机网络状态的方法【附源码下载】
Dec 08 Javascript
解决vue的 v-for 循环中图片加载路径问题
Sep 03 Javascript
详解在create-react-app使用less与antd按需加载
Dec 06 Javascript
详解基于iview-ui的导航栏路径(面包屑)配置
Feb 22 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中HTTP方式下的Gzip压缩传输方法举偶
2007/02/15 PHP
php5数字型字符串加解密代码
2008/04/24 PHP
PHP Global变量定义当前页面的全局变量实现探讨
2013/06/05 PHP
50个PHP程序性能优化的方法
2014/06/02 PHP
php打印一个边长为N的实心和空心菱型的方法
2015/03/02 PHP
PHP使用GETDATE获取当前日期时间作为一个关联数组的方法
2015/03/19 PHP
laravel框架之数据库查出来的对象实现转化为数组
2019/10/23 PHP
完整显示当前日期和时间的JS代码
2007/09/17 Javascript
基于jQuery的仿flash的广告轮播代码
2010/11/04 Javascript
Jquery操作radio的简单实例
2014/01/06 Javascript
嵌入式iframe子页面与父页面js通信的方法
2015/01/20 Javascript
EasyUi datagrid 实现表格分页
2015/02/10 Javascript
javascript实现随机显示星星特效
2016/01/28 Javascript
原生js编写autoComplete插件
2016/04/13 Javascript
可输入文字查找ajax下拉框控件 ComBox的实现方法
2016/10/25 Javascript
利用JQuery直接调用asp.net后台的简单方法
2016/10/27 Javascript
详解照片瀑布流效果(js,jquery分别实现与知识点总结)
2017/01/01 Javascript
使用node.js搭建服务器
2017/05/20 Javascript
Vue中computed与methods的区别详解
2018/03/24 Javascript
vue.js实现格式化时间并每秒更新显示功能示例
2018/07/07 Javascript
解决mpvue + vuex 开发微信小程序vuex辅助函数mapState、mapGetters不可用问题
2018/08/03 Javascript
在vue中使用vuex,修改state的值示例
2019/11/08 Javascript
JavaScript中交换值的10种方法总结
2020/08/18 Javascript
[01:32]DOTA2次级联赛——首支职业女子战队选拔赛全记录
2014/10/23 DOTA
python 读取DICOM头文件的实例
2018/05/07 Python
5款实用的python 工具推荐
2020/10/13 Python
DJI大疆无人机官方商城:全球领先的无人飞行器研发和生产商
2016/12/21 全球购物
博朗(Braun)俄罗斯官方商店:德国小家电品牌
2019/09/24 全球购物
eHarmony英国:全球领先的认真恋爱约会平台之一
2020/11/16 全球购物
中专生自我鉴定范文
2014/02/02 职场文书
水利水电专业自荐信
2014/07/08 职场文书
高速铁道技术专业求职信
2014/08/09 职场文书
财务总监岗位职责
2015/02/03 职场文书
2015年办公室文秘工作总结
2015/04/30 职场文书
详解MySQL连接挂死的原因
2021/05/18 MySQL
python模块与C和C++动态库相互调用实现过程示例
2021/11/02 Python