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读取本地excel文档数据的代码
Nov 11 Javascript
jquery实现弹出窗口效果的实例代码
Nov 28 Javascript
ajax提交表单实现网页无刷新注册示例
May 08 Javascript
easyui中combotree循环获取父节点至根节点并输出路径实现方法
Nov 10 Javascript
详解为Angular.js内置$http服务添加拦截器的方法
Dec 20 Javascript
COM组件中调用JavaScript函数详解及实例
Feb 23 Javascript
JavaScript插件Tab选项卡效果
Nov 14 Javascript
node.js用fs.rename强制重命名或移动文件夹的方法
Dec 27 Javascript
JS运动特效之链式运动分析
Jan 24 Javascript
重学JS 系列:聊聊继承(推荐)
Apr 11 Javascript
layui 实现table翻页滚动条位置保持不变的例子
Sep 05 Javascript
javascript实现fetch请求返回的统一拦截
Dec 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
ThinkPHP连接数据库及主从数据库的设置教程
2014/08/22 PHP
php中explode函数用法分析
2014/11/15 PHP
php模拟登陆的实现方法分析
2015/01/09 PHP
yii通过小物件生成view的方法
2016/10/08 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
PHP高并发和大流量解决方案整理
2019/12/24 PHP
火狐浏览器(firefox)下获得Event对象以及keyCode
2008/11/13 Javascript
JavaScript对象之间的转换 jQuery对象和原声DOM
2011/03/07 Javascript
JQuery与JSon实现的无刷新分页代码
2011/09/13 Javascript
使用js的replace()方法查找字符示例代码
2013/10/28 Javascript
javascript事件模型实例分析
2015/01/30 Javascript
JQuery显示隐藏DIV的方法及代码实例
2015/04/16 Javascript
jquery validate和jquery form 插件组合实现验证表单后AJAX提交
2015/08/26 Javascript
JavaScript代码实现左右上下自动晃动自动移动
2016/04/08 Javascript
Vue.js组件tabs实现选项卡切换效果
2016/12/01 Javascript
react.js使用webpack搭配环境的入门教程
2017/08/14 Javascript
优雅的处理vue项目异常实战记录
2019/06/05 Javascript
vue 解决addRoutes多次添加路由重复的操作
2020/08/04 Javascript
浅谈javascript事件环微任务和宏任务队列原理
2020/09/12 Javascript
Node.js fs模块原理及常见用途
2020/10/22 Javascript
详解Python的Django框架中manage命令的使用与扩展
2016/04/11 Python
python用fsolve、leastsq对非线性方程组求解
2018/12/15 Python
Python实现点阵字体读取与转换的方法
2019/01/29 Python
python飞机大战pygame游戏框架搭建操作详解
2019/12/17 Python
Python range与enumerate函数区别解析
2020/02/28 Python
Python实现读取并写入Excel文件过程解析
2020/05/27 Python
python 删除excel表格重复行,数据预处理操作
2020/07/06 Python
Python 创建守护进程的示例
2020/09/29 Python
python subprocess pipe 实时输出日志的操作
2020/12/05 Python
世界经理人咨询有限公司面试
2014/09/23 面试题
青年安全生产示范岗事迹材料
2014/05/04 职场文书
建筑工程催款函
2015/06/24 职场文书
大学生支教感言
2015/08/01 职场文书
2020优秀员工演讲稿(三篇)
2019/10/17 职场文书
CentOS7和8下安装Maven3.8.4
2022/04/07 Servers
微软Win11 全新照片应用面向 Dev预览版推出 新版本上手体验图集
2022/09/23 数码科技