函数遍历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 ...
随机推荐
- Python中文词频统计
以下是关于小说的中文词频统计 这里有三个文件,分别为novel.txt.punctuation.txt.meaningless.txt. 这三个是小说文本.特殊符号和无意义词 Python代码统计词频 ...
- H5页面的高度宽度100%
解决方案1: 设置如下:html,body{ min-height:100vh; background-color:#fff; }这样高度首先不会写死,而且满足最小高度是满屏 解决方案2: 可以用vh ...
- 小tips:node起一个简单服务,打开本地项目或文件浏览
1.安装nodejs 2.在项目文件夹目录下创建一个js文件,命名server.js(自定义名称),内容如下 var http = require('http'); var fs = require( ...
- 解决VS2017不连接visual studio emulator for android
参考: http://blog.csdn.net/allen_xu5320/article/details/47280457 查出IP 直接ADB连上去
- ubuntu16.04 部署配置LVS主从
实验环境---ubuntu16.04 四台机器:10.211.55.13—55.16 具体实验环境配置如下: 10.211.55.102 LVS_VIP 10.211.55.13 LVS_MAST ...
- rxjava切换线程避免重复代码
.subscribeOn(Schedulers.io()) .unsubscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThrea ...
- (办公)MojoExecutionException
MojoExecutionException : mavan打包错误. 通过以下命令解决:mvn clean install (新改的内容生效)
- python 迭代器协议和生成器
一.什么是迭代器协议 1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个stoplteration异常,以终止迭代(只能往后走,不能往前退) 2.可迭代 ...
- SSH远程登录原理
使用ssh主要有两种登录方式:第一种为密码口令登录,第二种为公钥登录 密码口令登录 通过密码进行登录,主要流程为: 1.客户端连接上服务器之后,服务器把自己的公钥传给客户端 2.客户端输入服务器密码通 ...
- Python 函数调用&定义函数&函数参数
一.函数调用 在python中内置了很多函数,我们可以直接调用 .想要调用函数首先要知道函数的名称及包含的参数,还可以通过查看python官方的文档:https://docs.python.org/3 ...