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 相关文章推荐
addRule在firefox下的兼容写法
Nov 30 Javascript
才发现的超链接js导致网页中GIF动画停止的解决方法
Nov 02 Javascript
Table冻结表头示例代码
Aug 20 Javascript
移动节点的jquery代码
Jan 13 Javascript
jQuery获得页面元素的绝对/相对位置即绝对X,Y坐标
Mar 06 Javascript
JavaScript事件 &quot;事件对象&quot;的注意要点
Jan 14 Javascript
使用ReactJS实现tab页切换、菜单栏切换、手风琴切换和进度条效果
Oct 17 Javascript
在vue中使用v-bind:class的选项卡方法
Sep 27 Javascript
bootstrap table合并行数据并居中对齐效果
Oct 17 Javascript
浅析Vue.js 中的条件渲染指令
Nov 19 Javascript
django中使用vue.js的要点总结
Jul 07 Javascript
解决layer.confirm选择完之后消息框不消失的问题
Sep 16 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
全国FM电台频率大全 - 18 湖南省
2020/03/11 无线电
php上传apk后自动提取apk包信息的使用(示例下载)
2013/04/26 PHP
解析用PHP实现var_export的详细介绍
2013/06/20 PHP
php根据操作系统转换文件名大小写的方法
2014/02/24 PHP
PHP线程的内存回收问题
2016/07/08 PHP
bindParam和bindValue的区别以及在Yii2中的使用详解
2018/03/12 PHP
laravel项目利用twemproxy部署redis集群的完整步骤
2018/05/11 PHP
ext checkboxgroup 回填数据解决
2009/08/21 Javascript
TextArea不支持maxlength的解决办法(jquery)
2011/09/13 Javascript
jquery数据验证插件(自制,简单,练手)实例代码
2013/10/24 Javascript
javascript模拟订火车票和退票示例
2014/04/24 Javascript
escape函数解决js中ajax传递中文出现乱码问题
2014/10/30 Javascript
用JS中split方法实现彩色文字背景效果实例
2016/08/24 Javascript
jQuery列表检索功能实现代码
2017/07/17 jQuery
详解vue axios中文文档
2017/09/12 Javascript
vue滚动轴插件better-scroll使用详解
2017/10/17 Javascript
小程序Scroll-view上拉滚动刷新数据
2020/06/21 Javascript
python中nan与inf转为特定数字方法示例
2017/05/11 Python
Python入门之三角函数tan()函数实例详解
2017/11/08 Python
Python代码缩进和测试模块示例详解
2018/05/07 Python
对pandas读取中文unicode的csv和添加行标题的方法详解
2018/12/12 Python
利用python如何在前程无忧高效投递简历
2019/05/07 Python
python+mysql实现个人论文管理系统
2019/10/25 Python
python获取栅格点和面值的实现
2020/03/10 Python
Python爬虫之Selenium多窗口切换的实现
2020/12/04 Python
婚鞋、新娘鞋、礼服鞋、童鞋:Nina Shoes
2019/09/04 全球购物
ruby如何进行集成操作?Ruby能进行多重继承吗?
2013/10/16 面试题
中药专业大学生医药工作求职信
2013/10/25 职场文书
策划助理岗位职责
2013/11/18 职场文书
爱我中华教学反思
2014/04/28 职场文书
超市七夕促销活动方案
2014/08/28 职场文书
财务助理岗位职责范本
2014/10/09 职场文书
个人总结怎么写
2015/02/26 职场文书
物业工程部主管岗位职责
2015/04/16 职场文书
在Centos 8.0中安装Redis服务器的教程详解
2022/03/21 Redis
MySQL慢查询中的commit慢和binlog中慢事务的区别
2022/06/16 MySQL