javascript如何统计页面中标签的数量

javascript如何统计页面中标签的数量:
本章节介绍一下如何统计页面中标签的数量,当然标签是可以重复的,虽然不常用,不过寄希望能够给大家带来或多或少的帮助。
代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>蚂蚁部落</title>
<script type="text/javascript">
var elementName="";
function countTotalElement(node){
  ///Attribute  nodeType值为2,表示节点属性
  ///Comment    nodeType值为8,表示注释文本
  ///Document   nodeType值为9,表示Document
  ///DocumentFragment   nodeType值为11,表示Document片段
  ///Element            nodeType值为1,表示元素节点
  ///Text               nodeType值为3,表示文本节点
  var total=0;
  //1代表节点的类型为Element
  if(node.nodeType==1){
    total++;
    elementName=elementName+node.tagName+"\r\n";
  }
  var childrens=node.childNodes;
  for(var i=0;i<childrens.length;i++){
    total+=countTotalElement(childrens[i]);
  }
  return total;
}
window.onload=function(){
  var bt=document.getElementById("bt");
  bt.onclick=function(){
    alert(‘标签总数‘+countTotalElement(document)+‘\r\n 全部标签如下:\r\n‘+elementName);
  }
}
</script>
</head>
<body>
<a href="javascript:void(0);return false" id="bt">点击测试</a>
</body>
</html>

以上代码实现了我们的要求,点击按钮可以弹出框,能够统计页面中标签的数量。代码比较简单,就是通过判断节点类型,如果是元素节点就计算在内,并且结合for循环通过递归的方式实现数量统计。
一.代码注释:
1.var elementName="",声明一个变量,用来存储标签的名称,并且通过字符串连接将结果串联起来。
2.function countTotalElement(node){},此函数是功能的核心,参数是个节点对象,在本代码中是document节点对象。
3.var total=0,声明一个变量并初始化为0,用来存储标签的数量。
4.if(node.nodeType==1),判断是否是元素节点。
5.total++,加1运算。
6.elementName=elementName+node.tagName+"\r\n",标签名称连接起来,后面的回车换行。
7.var childrens=node.childNodes,获取node节点的所有一级子节点。
8.for(var i=0;i<childrens.length;i++),遍历每一个一级子节点。
9.total+=countTotalElement(childrens);,这里运用了递归的方式实现深度遍历,也就是首先判断一个节点,然后再去遍历判断它的子节点,依次类推。
10.return total,返回数量。
二.相关阅读:
1.nodeType属性可以参阅javascript的DOM元素节点操作简单介绍一章节。 
2.tagName属性可以参阅javascript如何获取元素的tagName标签名一章节。 
3.childNodes属性可以参阅js的childNodes用法简单介绍一章节。

原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=11388

更多内容可以参阅:http://www.softwhy.com/javascript/

时间: 2024-10-03 03:24:25

javascript如何统计页面中标签的数量的相关文章

jQuery基础学习5——JavaScript方法获取页面中的元素

给网页中的所有<p>元素添加onclick事件 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head>

JavaScript脚本在页面中放置的位置

JavaScript脚本通常放置在三个位置: 1.head部分JavaScript脚本. 2.body部分JavaScript脚本. 3.单独以.js结尾的文件中的JavaScript脚本. 客户端会顺序读取并解析文档内容,body部分的JavaScript脚本会优先执行,其他部分的JavaScript脚本会通过调用执行. head部分JavaScript脚本 <html> <head> <script type="text/javascript">

统计页面使用标签种类数

之前在知乎上看到贺老(贺师俊)在一个问题下的回答里一个问题激起了我的兴趣,原链接如下 https://www.zhihu.com/question/22504189/answer/36812048 原问题是写一个函数返回一个页面里共使用了多少种HTML tag. 这个问题乍一看好像挺复杂,刚开始以为需要遍历DOM树一个一个累加,但后来觉得这样过于复杂(因为收集文档所有元素对象是个问题),后来就由于搬家的缘故搁置了一段时间,再后来我在重新复习操作DOM方法的时候发现document.getElem

用python统计日志中IP的数量

引 入 日志文件,是我们记录用户行为的重要手段.而对于不同的用户,我们往往又会根据IP来区分,所以统计日志文件中的IP访问,对于数据分析人员和相关运营专员来说,是一件重要的事情,这里,采用python这门语言来完成这个小功能. 一.分析IP格式 这里只讨论ipv4. 分析IP格式思路有许多,这里我只分析其中一种比较容易理解的. 1) 从分析一个从1~255的数字开始 一个1~255的数细分成以下5个分组. 数字分组 正则表达式表示 1~9 [1-9] 10~99 [1-9][0-9] 100~1

Spark 加强版WordCount ,统计日志中文件访问数量

原文地址:http://blog.csdn.net/whzhaochao/article/details/72416956 写在前面 学习Scala和Spark基本语法比较枯燥无味,搞搞简单的实际运用可以有效的加深你对基本知识点的记忆,前面我们完成了最基本的WordCount功能的http://blog.csdn.net/whzhaochao/article/details/72358215,这篇主要是结合实际生产情况编写一个简单的功能,功能就是通过分析CDN或者Nginx的日志文件,统计出访问

统计APK中方法数量

Android开发中有对APK的方法数量做限制,不能超过65536.如果超过了该数目,会遇到如下异常: Conversion to Dalvikformat failed:Unable toexecute dex: method ID not in [0, 0xffff]: 65536 之所以出现上述问题,主要原因在于Android系统中,方法id存储在Dex文件中使用的是short类型数据,所以导致了dex中方法不能超过65k. 知道了上面的限制,那么如何知道生成的APK的方法数量呢?以及如何

系统管理模块_部门管理_改进_抽取添加与修改JSP页面中的公共代码_在显示层抽取BaseAction_合并Service层与Dao层

系统管理模块_部门管理_改进1:抽取添加与修改JSP页面中的公共代码 commons.jspf <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <meta http-equiv="Conten

JavaScript在页面中的引用方法

现在前端开发越来越流行,框架也越来越多,像ExtJs.JQuery.Bootstrap等.虽然入行这么多年,但是感觉自己在前端方面还是存在基础不牢的地方,特别是CSS和JS.因此最近打算重新阅读这方面的经典书籍,来夯实自己的基础.因此打算边读书,边写博客,将我自己的感觉有用的地方记下来,以加深印象. 在前端开发,人人都会遇到JavaScript,也必须了解它.在用到它之前,首先必须了解怎么样将其引用到自己的页面中去.以前因为是快速开发,很少去关注这点,对JavaScript的引入,一掠而过,没有

jsp页面中jstl标签详解

JSLT标签库,是日常开发经常使用的,也是众多标签中性能最好的.把常用的内容,放在这里备份一份,随用随查.尽量做到不用查,就可以随手就可以写出来.这算是Java程序员的基本功吧,一定要扎实. JSTL全名为JavaServer Pages Standard Tag Library,目前最新的版本为1.1版.JSTL是由JCP(Java Community Process)所制定的标准规范,它主要提供给Java Web开发人员一个标准通用的标签函数库. Web程序员能够利用JSTL和EL来开发We