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 获取select下拉列表值的代码
Sep 07 Javascript
javascript 操作Word和Excel的实现代码
Oct 26 Javascript
JQuery实现倒计时按钮的实现代码
Mar 23 Javascript
FF火狐下获取一个元素同类型的相邻元素实现代码
Dec 15 Javascript
escape编码与unescape解码汉字出现乱码的解决方法
Jul 02 Javascript
js实现从右向左缓缓浮出网页浮动层广告的方法
May 09 Javascript
深入探讨javascript函数式编程
Oct 11 Javascript
Bootstrap每天必学之标签与徽章
Nov 27 Javascript
JS短信验证码倒计时功能的实现(没有验证码,只有倒计时)
Oct 27 Javascript
基于JavaScript实现瀑布流效果
Mar 29 Javascript
JS动画实现回调地狱promise的实例代码详解
Nov 08 Javascript
教你30秒发布一个TypeScript包到NPM的方法步骤
Jul 22 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中使用Akismet防止垃圾评论的代码
2011/06/10 PHP
thinkphp验证码显示不出来的解决方法
2014/03/29 PHP
jquery json 实例代码
2010/12/02 Javascript
jquery 插件学习(五)
2012/08/06 Javascript
js获取光标位置和设置文本框光标位置示例代码
2014/01/09 Javascript
js触发select onchange事件的小技巧
2014/08/05 Javascript
Javascript基础教程之数据类型转换
2015/01/18 Javascript
jquery $(document).ready()和window.onload的区别浅析
2015/02/04 Javascript
js+ajax实现获取文件大小的方法
2015/12/08 Javascript
Javascript中浏览器窗口的基本操作总结
2016/08/18 Javascript
Angularjs 实现动态添加控件功能
2017/05/25 Javascript
创建简单的node服务器实例(分享)
2017/06/23 Javascript
浅谈js中的this问题
2017/08/31 Javascript
vue项目每30秒刷新1次接口的实现方法
2018/12/04 Javascript
整理 node-sass 安装失败的原因及解决办法(小结)
2020/02/19 Javascript
vue+iview实现文件上传
2020/11/17 Vue.js
[02:43]中国五虎出征TI3视频
2013/08/02 DOTA
[02:51]2014DOTA2 TI小组赛总结中国军团全部进军钥匙球馆
2014/07/15 DOTA
Python实现的一个自动售饮料程序代码分享
2014/08/25 Python
Python实现将绝对URL替换成相对URL的方法
2015/06/28 Python
详解Python的Django框架中inclusion_tag的使用
2015/07/21 Python
在主机商的共享服务器上部署Django站点的方法
2015/07/22 Python
Python判断变量是否为Json格式的字符串示例
2017/05/03 Python
Django操作session 的方法
2020/03/09 Python
python读取配置文件方式(ini、yaml、xml)
2020/04/09 Python
HTML5 canvas基本绘图之绘制线条
2016/06/27 HTML / CSS
英国领先的品牌珠宝和配件供应商:Acotis Jewellery
2018/03/07 全球购物
银河香水:Galaxy Perfume
2019/03/25 全球购物
服装厂厂长岗位职责
2013/12/27 职场文书
元旦晚会邀请函
2014/01/27 职场文书
导游实习生自荐书
2014/01/28 职场文书
高中生操行评语大全
2014/04/25 职场文书
向国旗敬礼活动小结
2014/09/27 职场文书
2014购房个人委托书范本
2014/10/12 职场文书
2016年感恩母亲节活动总结
2016/04/01 职场文书
浅谈如何提高PHP代码质量之单元测试
2021/05/28 PHP