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 相关文章推荐
关于JavaScript定义类和对象的几种方式
Nov 09 Javascript
ExtJS4 组件化编程,动态加载,面向对象,Direct
May 12 Javascript
判断对象是否Window的实现代码
Jan 10 Javascript
ASP.NET jQuery 实例9  通过控件hyperlink实现返回顶部效果
Feb 03 Javascript
jQuery实现弹出窗口中切换登录与注册表单
Jun 05 Javascript
Angularjs过滤器使用详解
May 25 Javascript
判断数组的最佳方法(推荐)
Oct 11 Javascript
关于ES6的六个小特性(二)
Feb 20 Javascript
基于Vue+element-ui 的Table二次封装的实现
Jul 20 Javascript
JS开发 富文本编辑器TinyMCE详解
Jul 19 Javascript
使用eslint和githooks统一前端风格的技巧
Jul 29 Javascript
vue 添加和编辑用同一个表单,el-form表单提交后清空表单数据操作
Aug 03 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
example1.php
2006/10/09 PHP
学习php设计模式 php实现适配器模式
2015/12/07 PHP
Jquery 插件学习实例1 插件制作说明与tableUI优化
2010/04/02 Javascript
仅IE支持clearAttributes/mergeAttributes方法使用介绍
2012/05/04 Javascript
关于jQuery object and DOM element
2013/04/15 Javascript
jQuery表单域选择器用法分析
2015/02/10 Javascript
jQuery+css3动画属性制作猎豹浏览器宽屏banner焦点图
2015/03/16 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图和饼图的组合图效果示例【附demo源码下载】
2017/03/09 Javascript
js实现抽奖效果
2017/03/27 Javascript
Bootstrap模态框插入视频的实现代码
2017/06/25 Javascript
vue脚手架搭建项目的兼容性配置详解
2018/07/17 Javascript
详解微信小程序之scroll-view的flex布局问题
2019/01/16 Javascript
Jquery获取radio选中值实例总结
2019/01/17 jQuery
vant IndexBar实现的城市列表的示例代码
2019/11/20 Javascript
微信小程序反编译的实现
2020/12/10 Javascript
[03:44]2015国际邀请赛选手档案—Cloud9.NoTail
2015/07/28 DOTA
[35:26]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第三局
2016/02/26 DOTA
python任务调度实例分析
2015/05/19 Python
python数据结构之链表的实例讲解
2017/07/25 Python
100行python代码实现跳一跳辅助程序
2018/01/15 Python
Python使用Django实现博客系统完整版
2020/09/29 Python
在PyCharm下打包*.py程序成.exe的方法
2018/11/29 Python
Python File(文件) 方法整理
2019/02/18 Python
python实现文件的备份流程详解
2019/06/18 Python
Python selenium的基本使用方法分析
2019/12/21 Python
Pandas时间序列:时期(period)及其算术运算详解
2020/02/25 Python
python飞机大战游戏实例讲解
2020/12/04 Python
前端实现打印图像功能
2019/08/27 HTML / CSS
Nip + Fab官网:英国美容品牌
2019/08/26 全球购物
什么是Web Service?
2012/07/25 面试题
旅游管理毕业生自荐信
2013/11/05 职场文书
前台文员岗位职责及工作流程
2013/11/19 职场文书
营业员实习自我鉴定
2013/12/07 职场文书
车间组长岗位职责
2013/12/20 职场文书
实验教师岗位职责
2014/02/13 职场文书
高中生职业规划范文
2014/03/09 职场文书