函数遍历DOM树
//获取页面中的根节点--根标签 | |
var root=document.documentElement;//html | |
//函数遍历DOM树 | |
//根据根节点,调用fn的函数,显示的是根节点的名字 | |
function forDOM(root1) { | |
//调用f1,显示的是节点的名字 | |
// f1(root1); | |
//获取根节点中所有的子节点 | |
var children=root1.children; | |
//调用遍历所有子节点的函数 | |
forChildren(children); | |
} | |
//给我所有的子节点,我把这个子节点中的所有的子节点显示出来 | |
function forChildren(children) { | |
//遍历所有的子节点 | |
for(var i=0;i<children.length;i++){ | |
//每个子节点 | |
var child=children[i]; | |
//显示每个子节点的名字 | |
f1(child); | |
//判断child下面有没有子节点,如果还有子节点,那么就继续的遍历 | |
child.children&&forDOM(child); | |
} | |
} | |
//函数调用,传入根节点 | |
forDOM(root); | |
function f1(node) { | |
console.log("节点的名字:"+node.nodeName); | |
} | |
//节点:nodeName,nodeType,nodeValue | |
// 第一个函数:给我根节点,我会找到所有的子节点:forDOM(根节点) | |
// 获取这个根节点的子节点 | |
// var children=根节点的.children | |
// 调用第二个函数 | |
// | |
// 第二个函数:给我所有的子节点,我把每个子节点的名字显示出来(children) | |
// for(var i=0;i<children.length;i++){ | |
// 每个子节点 | |
// var child=children[i]; | |
// f1(child);给我节点,我显示该节点的名字 | |
// child是子节点,但是如果child里面还有子节点,此时child就是爹了 | |
// child.children&&第一个函数(child) | |
// | |
// } | |
函数遍历DOM树的更多相关文章
- JS高级---遍历DOM树
遍历DOM树 第一个函数: 给我根节点, 我会找到所有的子节点: forDOM(根节点) 获取这个根节点的子节点 var children=根节点的.children 调用第二个函数 第二个 ...
- 拷贝和遍历DOM树
一.浅拷贝: 拷贝就是复制,就相当于把一个对象中的所有内容,复制一份给另一个对象,直接复制, 或者说,就是把一个对象的地址给了另外一个对象,他们的指向相同,两个对象之间有相同的属性或者方法,都可以使用 ...
- 先序遍历DOM树的5种方法
DOM树由文档中的所有节点(元素节点.文本节点.注释节点等)所构成的一个树结构,DOM树的解析和构建是浏览器要实现的关键功能.既然DOM树是一个树结构,那么我们就可以使用遍历树结构的相关方法来对DOM ...
- jQuery向上遍历DOM树之parents(),parent(),closest()之间的区别
http://www.poluoluo.com/jzxy/201312/253059.html 在这个sprint中,因为要写前端UI,所以用到了jQuery,但是jQuery在向上遍历DOM树的AP ...
- 遍历DOM树
遍历DOM在jQuery中是非常重要的技术. 遍历DOM之前,需要对DOM有清晰的认识,了解文档节点.元素节点.属性节点.文本节点等相关概念.不清楚可以温习下<JavaScript教程.DOM树 ...
- 遍历DOM树,each()遍历
在<jQuery教程/理解选取更新范围>一节中,我们知道:当选择器返回了多个元素时,可以使用一个方法来更新所有的元素,不再需要使用循环. 然后有的时候需要遍历元素,怎么办? 使用each( ...
- JavaScript 算法应用: 遍历DOM树的两种方式
1 常见的DOM树结构: 2 DOM数遍历有两种方式: 3 广度优先代码: 4 深度优先遍历代码
- 遍历DOM树,理解更新范围
在JavaScript中,如果需求对多个元素重复进行同样的操作,就需要写一个循环来遍历选中的所有元素. 在jQuery中,当选择器返回了多个元素时,可以使用一个方法来更新所有的元素,不再需要使用循环. ...
- 遍历DOM树,链式操作
如果需要在同一个选取结果上使用多个jQuery方法,可以同时列出这些方法,并用.隔开,如下面的代码. 1 $("#one").hide().delay(500).fadeIn(15 ...
随机推荐
- 简单实现弹出弹框页面背景半透明灰,弹框内容可滚动原页面内容不可滚动的效果(JQuery)
弹出弹框 效果展示 实现原理 html结构比较简单,即: <div>遮罩层 <div>弹框</div> </div> 先写覆盖显示窗口的遮罩层div.b ...
- Python开发爬虫之静态网页抓取篇:爬取“豆瓣电影 Top 250”电影数据
所谓静态页面是指纯粹的HTML格式的页面,这样的页面在浏览器中展示的内容都在HTML源码中. 目标:爬取豆瓣电影TOP250的所有电影名称,网址为:https://movie.douban.com/t ...
- Android ContenObserver 监听联系人数据变化
一.知识介绍 1.ContentProvider是内容提供者 ContentResolver是内容解决者(对内容提供的数据进行操作) ContentObserver是内容观察者(观察内容提供者提供的数 ...
- CAP理论和Base理论
CAP理论 Consistency(一致性), 数据一致更新,所有数据变动都是同步的 Availability(可用性), 好的响应性能 Partition tolerance(分区容错性) 可靠性, ...
- Linux 中磁盘阵列RAID10损坏以及修复
在Linux 中磁盘阵列RAID10配置中我们已经正确配置了RAID10 ,一般来说在RAID10中最多允许50%的磁盘损毁,当然除了,同一磁盘RAID1中的硬盘设备全部损毁. 这次我们讨论一下:假设 ...
- ASP.NET Zero--前期要求
前期要求 需要以下工具才能使用ASP.NET Zero Core解决方案: Visual Studio 2017 + Visual Studio扩展: Bundler&Minifier Web ...
- C# 中使用特性获得函数被调用的路径,行号和函数
自从 .net framework 4.5 增加了几个特性来获得函数的调用路径(CallerFilePath),调用行号(CallerLineNumber),和调用函数(CallerMemberNa ...
- AnyDesk远程连接及异常处理
远程协助工具,用得最普遍的非QQ莫属,毕竟用户量在这里摆着的.不过,用户体验效果还不太理想,你懂得.接下来分享两个工具,一个是TeamViewer,另一个是AnyDesk.你更倾向于哪一款呢? 一.T ...
- LNMP构建动态网站WordPress
LNMP构建动态网站wordpress 一.部署LNMP架构 1.安装nginx #配置nginx源 cat>/etc/yum.repos.d/nginx.repo<<-EOF [N ...
- easyUI行删除
function removeRow(target,number) { if (number) { var index = getRowIndex(target); $datagrid.datagri ...