js获取html页面节点方法(递归方式)


Posted in Javascript onDecember 13, 2013

很久没有操作过递归调用了。看完之后,蓦然惊醒啊!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>统计Element节点</title>
   <script language="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;
    if(node.nodeType==1) //1代表节点的类型为Element
    {
       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;
   }
   </script>
</head>

<body>
     <h1>测试</h1>
     <table width="100" border="2" cellpadding="0" cellspacing="0">
         <tr><td>
         <form name="form1" action="" method="post">
               <input type="text" name="ipput1" value="测试"><br />
               <input type="password" name="password" value="">
         </form>
         </td></tr>
     </table>
     <a href="javascript:void(0)" onClick="alert('标记总数'+countTotalElement(document)+'\r\n 全部标记如下:\r\n'+elementName);">开始测试</a>
</body>
</html>

其实,通过递归调用也可以实现 想百度蜘蛛爬虫一样的效果!这个值得一试,或许可以通过这个方法,写一个sitemap生成器!

Javascript 相关文章推荐
JQuery 入门实例1
Jun 25 Javascript
IE6下JS动态设置图片src地址问题
Jan 08 Javascript
jQuery 遍历- 关于closest() 的方法介绍以及与parents()的方法区别分析
Apr 26 Javascript
JavaScript自动设置IFrame高度的小例子
Jun 08 Javascript
JS使用replace()方法和正则表达式进行字符串的搜索与替换实例
Apr 10 Javascript
使用jquery动态加载Js文件和Css文件
Oct 24 Javascript
使用Ajax与服务器(JSON)通信实例
Nov 04 Javascript
javascript实现二叉树的代码
Jun 08 Javascript
angular4实现tab栏切换的方法示例
Oct 21 Javascript
Vue 自定义动态组件实例详解
Mar 28 Javascript
JavaScript 中的 this 工作原理
Jun 20 Javascript
vue实现淘宝购物车功能
Apr 20 Javascript
jquery 合并内容相同的单元格(示例代码)
Dec 13 #Javascript
javascript读取xml实现javascript分页
Dec 13 #Javascript
同域jQuery(跨)iframe操作DOM(示例代码)
Dec 13 #Javascript
javascript分页代码实例分享(js分页)
Dec 13 #Javascript
jquery 操作iframe的几种方法总结
Dec 13 #Javascript
异步动态加载JS并运行(示例代码)
Dec 13 #Javascript
JQuery中$.ajax()方法参数详解及应用
Dec 12 #Javascript
You might like
跟我学小偷程序之成功偷取首页(第三天)
2006/10/09 PHP
PHP 中的批处理的实现
2007/06/14 PHP
PHP file_get_contents 函数超时的几种解决方法
2009/07/30 PHP
基于magic_quotes_gpc与magic_quotes_runtime的区别与使用介绍
2013/04/22 PHP
PHP+MySQL存储数据常见中文乱码问题小结
2016/06/13 PHP
Ajax+PHP实现的模拟进度条功能示例
2019/02/11 PHP
YII框架模块化处理操作示例
2019/04/26 PHP
Javascript 写的简单进度条控件
2008/01/22 Javascript
JS随即打乱数组实现代码
2012/12/03 Javascript
javascript学习(二)javascript常见问题总结
2013/01/02 Javascript
js判断登录与否并确定跳转页面的方法
2015/01/30 Javascript
Bootstrap table简单使用总结
2017/02/15 Javascript
JavaScript原型继承_动力节点Java学院整理
2017/06/30 Javascript
老生常谈ES6中的类
2017/07/31 Javascript
Vue+webpack+Element 兼容问题总结(小结)
2018/08/16 Javascript
Vue中CSS动画原理的实现
2019/02/13 Javascript
Vue实现table上下移动功能示例
2019/02/21 Javascript
详解js实时获取并显示当前时间的方法
2019/05/10 Javascript
Vue scrollBehavior 滚动行为实现后退页面显示在上次浏览的位置
2019/05/27 Javascript
jQuery实现获取多选框的值示例
2020/02/07 jQuery
javascript设计模式 ? 组合模式原理与应用实例分析
2020/04/14 Javascript
[01:08:24]DOTA2-DPC中国联赛 正赛 RNG vs Phoenix BO3 第一场 2月5日
2021/03/11 DOTA
Python正则获取、过滤或者替换HTML标签的方法
2016/01/28 Python
通过python实现弹窗广告拦截过程详解
2019/07/10 Python
Python利用全连接神经网络求解MNIST问题详解
2020/01/14 Python
Python实现LR1文法的完整实例代码
2020/10/25 Python
Django haystack实现全文搜索代码示例
2020/11/28 Python
介绍下static、final、abstract区别
2015/01/30 面试题
工伤事故赔偿协议书
2014/10/27 职场文书
2014年创卫工作总结
2014/11/24 职场文书
2015年商场工作总结
2015/04/27 职场文书
趣味运动会广播稿
2015/08/19 职场文书
幼儿园小班教学反思
2016/03/03 职场文书
2019年教师节祝福语精选,给老师送上真诚的祝福
2019/09/09 职场文书
详解Redis的三种常用的缓存读写策略步骤
2022/05/06 Redis
Mysql的Table doesn't exist问题及解决
2022/12/24 MySQL