js获取html页面节点方法(递归方式)
很久没有操作过递归调用了。看完之后,蓦然惊醒啊!
统计Element节点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
{
total+=countTotalElement(childrens[i]);
}
return total;
}
测试
开始测试
其实,通过递归调用也可以实现 想百度蜘蛛爬虫一样的效果!这个值得一试,或许可以通过这个方法,写一个sitemap生成器!相关阅读:
javascript函数作用域学习示例(js作用域)
mac系统中safari怎么添加书签? 把常用网页添加到收藏夹的效果
第1个Android应用程序 Android制作简单单页导航
IE下Css圆角没有的解决方法
IE6-IE9中tbody的innerHTML不能赋值的解决方法
js实现鼠标触发图片抖动效果的方法
Smarty模板学习笔记之Smarty简介
Win8日历应用如何删除工作中记录的待办事项
C#判断数据类型的简单示例代码
Android中的Activity生命周期总结
Easyui 之 Treegrid 笔记
强制PHP命令行脚本单进程运行的方法
PHP网页游戏学习之Xnova(ogame)源码解读(九)
深入php面向对象、模式与实践