js使用深度优先遍历实现getElmentById(id)
来源:互联网 发布:大数据团队功能 编辑:程序博客网 时间:2024/06/05 14:56
function getElementById(node, id) {if (!node) return null;if (node.id === id) return node;for (var i = 0; i < node.childNodes.length; i++) {var found = getElementById(node.childNodes[i], id);if (found) return found;}return null;}
测试情况。
这里是使用递归的方法来实现id 的选择。
使用递归代码简单,但是性能上比不上非递归的实现,Chrome 浏览器的DOM查找就是使用的非递归。
function getElementById(node, id) {while (node) {if (node.id === id) return node;node = nextElement(node)}}function nextElement(node) {if (node.children.length) {return node.children[0];}if (node.nextElementSibling) {return node.nextElmentSibling;}while (node.parentNode) {if (node.parentNode.nextElementSibling) {return node.parentNode.nextElementSibling;}node = node.parentNode;}return null}
阅读全文
0 0
- js使用深度优先遍历实现getElmentById(id)
- java实现深度优先遍历
- 图的深度优先遍历和广度优先遍历实现
- 深度、广度优先遍历算法C实现
- 深度优先遍历算法--非递归实现
- 如何实现深度优先遍历(DFS)
- 深度优先遍历 DFS C实现
- Python实现文件夹深度优先遍历
- 深度优先遍历的栈实现
- 深度、广度优先遍历算法C实现
- 实现深度优先方式遍历树
- 深度优先和广度优先遍历及其 Java 实现
- 图的深度优先和广度优先遍历及其实现
- 深度优先和广度优先遍历及其 Java 实现
- Java 实现深度优先和广度优先遍历
- 图的遍历之-DFS深度优先遍历C++实现
- 深度优先搜索遍历
- 深度优先遍历图
- 使用AccessibilityService进行APK自动安装
- 教你一分钟实现动态模糊效果
- ES6 函数默认值与作用域
- Sublime Text 3报错Pylinter could not automatically determined the path to lint.py...
- 福利送上,2016 ChinaJoy一日游
- js使用深度优先遍历实现getElmentById(id)
- ActivityThread的main方法究竟做了什么?
- Dagger2这次入门就不用放弃了
- 你见过这样的单例模式吗?
- Retrofit项目封装使用
- Dialog、Toast、Snackbar,你真的了解它们吗?
- 自定义View实战:影院在线选座
- 利用顺序表的操作,实现以下函数: 1)从顺序表中删除具有最小值的元素并由函数返回被删除元素的值。空出的位置由最后一个元素填补,若顺序表为空则显示出错信息并退出运行。
- 二叉树的遍历