基础:

  JS nodeType返回类型:http://blog.csdn.net/qyf_5445/article/details/9232907

代码:

<!DOCTYPE html>
<html>
<head>
<title>遍历文档树</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<script type="text/javascript">
//遍历文档树
function getDomTree(){
alert(text(document.body)); //用提示框显示树内容
}
function text(elem){
var t=""; //定义文字字符串
//获取改节点的所有子节点
var elemelem = elem.childNodes;
//遍历所有子节点
for(var i=0; i<elemelem.length;i++){
//当前节点
var e = elemelem[i];
//文本、注释节点不被遍历,并判断其是否为直接父节点
if(e.parentNode == elem && e.nodeType == 1){
t += e.tagName + ' '; //把标签名添加到文本内容里
//循环子节点
if(e.childNodes.length > 0){
//如果子节点只有一个文本子节点,则跳过
if(e.childNodes.length == 1){
var fe = e.childNodes[0];
if(fe.nodeType == 3) //是否为文本子节点
continue; //跳过
}
t += '\n\t'; //子节点分隔符
t += text(e); //递归还有子元素的子节点
}
}
}
return t; //返回得到的文本
}
</script>
</head>
<body style="text-align:center">
<p>
<!-- 定义链接和按钮 -->
<a id="myLink" href="#">链接</a>
<br/>
<input type="button" value="遍历文档树" onclick="getDomTree();"/>
</p>
</body>
</html>

效果:

 

最新文章

  1. ASP.NET Core应用针对静态文件请求的处理[5]: DefaultFilesMiddleware中间件如何显示默认页面
  2. ARM体系结构
  3. 传递消息--第三方开源--EventBus的简单使用
  4. MFC基于Dialog的工程中使用OSG
  5. Intel微处理器学习笔记(五) 中断
  6. MS SqlSever一千万条以上记录分页数据库优化经验总结【索引优化 + 代码优化】[转]
  7. SQLite函数详解之二
  8. List&lt;T&gt; please check srcIndex
  9. 推荐2个小工具 .NET reflector resharper
  10. VMware vSphere 5.5的12个更新亮点(3)
  11. 异常处理:你不可能总是对的2 - 零基础入门学习Python033
  12. 【原创】《算法导论》链表一章带星习题试解——附C语言实现
  13. [刷题]算法竞赛入门经典(第2版) 5-15/UVa12333 - Revenge of Fibonacci
  14. express respond.send 和 end的区别
  15. 【OpenCV-Python:实现人脸、人眼、嘴巴识别】实战(一)
  16. Extensions in UWP Community Toolkit - FrameworkElement Extensions
  17. c#语言中的Process进程类型的使用示例
  18. 【Android Studio安装部署系列】九、Android Studio常用配置以及快捷键
  19. 使用 MapTiler 进行地图切片
  20. ROS学习笔记(一) : 入门之基本概念

热门文章

  1. linux提示语言包
  2. js 常用插件
  3. C/C++中整数与浮点数在内存中的表示方式
  4. hbase 无法操作与hadoop的安全模式的原因
  5. pull类型消息中间件-消息消费者(二)
  6. OGG中断后,重新同步操作
  7. Java web项目综合练习(Estore)
  8. Spring Security(05)——异常信息本地化
  9. POJ 3020 Antenna Placement(无向二分图的最小路径覆盖)
  10. sqlplus登录Oracle时ORA-01017: invalid username/password; logon denied的错误