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事件冒泡传递(cancelBubble 、stopPropagation)
May 08 Javascript
利用onresize使得div可以随着屏幕大小而自适应的代码
Jan 15 Javascript
jQuery中与toggleClass等价的程序段 以及未来学习的方向
Mar 18 Javascript
JQuery 文本框使用小结
May 22 Javascript
基于JQuery的访问WebService的代码(可访问Java[Xfire])
Nov 19 Javascript
你不知道的 javascript【推荐】
Jan 08 Javascript
JavaScript字符集编码与解码详谈
Feb 02 Javascript
微信小程序实现拖拽 image 触摸事件监听的实例
Aug 17 Javascript
Vue组件创建和传值的方法
Aug 17 Javascript
基于vue中对鼠标划过事件的处理方式详解
Aug 22 Javascript
vue 左滑删除功能的示例代码
Jan 28 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
Aug 07 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
无线电广播的开始
2002/01/30 无线电
PHP Smarty生成EXCEL文档的代码
2008/08/23 PHP
PHP类的使用 实例代码讲解
2009/12/28 PHP
win2003服务器使用WPS的COM组件的一些问题解决方法
2012/01/11 PHP
php实现高效获取图片尺寸的方法
2014/12/12 PHP
php基于Fleaphp框架实现cvs数据导入MySQL的方法
2016/02/23 PHP
Zend Framework路由器用法实例详解
2016/12/11 PHP
js判断浏览器的比较全的代码
2007/02/13 Javascript
javascript同步Import,同步调用外部js的方法
2008/07/08 Javascript
jQuery效果 slideToggle() 方法(在隐藏和显示之间切换)
2011/06/28 Javascript
浅谈Javascript面向对象编程
2011/11/15 Javascript
javascript 基础篇4 window对象,DOM
2012/03/14 Javascript
jQuery表单美化插件jqTransform使用详解
2015/04/12 Javascript
jQuery插件制作之全局函数用法实例
2015/06/01 Javascript
基于jQuery实现返回顶部实例代码
2016/01/01 Javascript
javascript时间差插件分享
2016/07/18 Javascript
js 客户端打印html 并且去掉页眉、页脚的实例
2017/11/03 Javascript
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
2019/09/01 Javascript
JavaScript实现动态生成表格
2020/08/02 Javascript
[01:03:50]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第二场 2月7日
2021/03/11 DOTA
[06:07]DOTA2-DPC中国联赛3月5日Recap集锦
2021/03/11 DOTA
Python装饰器入门学习教程(九步学习)
2016/01/28 Python
使用django-crontab实现定时任务的示例
2018/02/26 Python
python logging重复记录日志问题的解决方法
2018/07/12 Python
使用pandas把某一列的字符值转换为数字的实例
2019/01/29 Python
Python 限制线程的最大数量的方法(Semaphore)
2019/02/22 Python
django用户登录验证的完整示例代码
2019/07/21 Python
Selenium元素定位的30种方式(史上最全)
2020/05/11 Python
在Pytorch中使用Mask R-CNN进行实例分割操作
2020/06/24 Python
德国户外商店:eXXpozed
2020/07/25 全球购物
车间机修工岗位职责
2014/02/28 职场文书
财务人员的自我评价范文
2014/03/03 职场文书
文案策划求职信
2014/03/18 职场文书
爱耳日活动总结
2014/04/30 职场文书
2014基建处领导班子“四风”对照检查材料思想汇报
2014/10/04 职场文书
索赔员岗位职责
2015/02/15 职场文书