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 相关文章推荐
js 调用父窗口的具体实现代码
Jul 15 Javascript
用Js实现的动态增加表格示例自己写的
Oct 21 Javascript
JS模拟实现方法重载示例
Aug 03 Javascript
利用JQuery直接调用asp.net后台的简单方法
Oct 27 Javascript
解析JavaScript数组方法reduce
Dec 12 Javascript
JS前向后瞻正则表达式定义与用法示例
Dec 27 Javascript
详解能在多种前端框架下使用的表格控件
Jan 11 Javascript
angularJs的ng-class切换class
Jun 23 Javascript
js断点调试心得分享(必看篇)
Dec 08 Javascript
vue中实现图片和文件上传的示例代码
Mar 16 Javascript
详解小程序rich-text对富文本支持方案
Nov 28 Javascript
使用JS实现动态时钟
Mar 12 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
php微信公众开发之获取周边酒店信息的方法
2014/12/22 PHP
JavaScript中void(0)的具体含义解释
2007/02/27 Javascript
原生javascript实现无间缝滚动示例
2014/01/28 Javascript
JQuery中的事件及动画用法实例
2015/01/26 Javascript
js+html5实现canvas绘制圆形图案的方法
2015/06/05 Javascript
浅谈window.onbeforeunload() 事件调用ajax
2016/06/29 Javascript
AngularJS中关于ng-class指令的几种实现方式详解
2016/09/17 Javascript
关于Javascript中defer和async的区别总结
2016/09/20 Javascript
微信小程序-详解数据缓存
2016/11/24 Javascript
老生常谈js中0到底是 true 还是 false
2017/03/08 Javascript
nodejs 搭建简易服务器的图文教程(推荐)
2017/07/18 NodeJs
简述Angular 5 快速入门
2017/11/04 Javascript
webpack4 升级迁移的实现
2018/09/12 Javascript
jQuery实现条件搜索查询、实时取值及升降序排序的方法分析
2019/05/04 jQuery
ES6 Array常用扩展的应用实例分析
2019/06/26 Javascript
Vue中遍历数组的新方法实例详解
2019/07/21 Javascript
python创建临时文件夹的方法
2015/07/06 Python
Python简单的制作图片验证码实例
2017/05/31 Python
python使用time、datetime返回工作日列表实例代码
2019/05/09 Python
python3连接MySQL8.0的两种方式
2020/02/17 Python
keras训练浅层卷积网络并保存和加载模型实例
2020/07/02 Python
澳大利亚婴儿喂养品牌:Cherub Baby
2018/11/01 全球购物
VLAN和VPN有什么区别?分别实现在OSI的第几层?
2014/12/23 面试题
StringBuilder和String的区别
2015/05/18 面试题
小学生考试获奖感言
2014/01/30 职场文书
酒店管理求职信范文
2014/04/06 职场文书
继承权公证书
2014/04/09 职场文书
《高尔基和他的儿子》教学反思
2014/04/09 职场文书
数控技校生自我鉴定
2014/04/19 职场文书
网站推广策划方案
2014/06/04 职场文书
纪检干部先进事迹材料
2014/08/23 职场文书
人事专员岗位职责
2015/02/03 职场文书
2016年幼儿园教师政治学习心得体会
2016/01/23 职场文书
教你怎么用Python生成九宫格照片
2021/05/20 Python
图文详解matlab原始处理图像几何变换
2021/07/09 Python
JavaWeb 入门篇(3)ServletContext 详解 具体应用
2021/07/16 Java/Android