javascript 节点遍历函数


Posted in Javascript onMarch 28, 2010

火狐官网上找到的一组函数,相当于treeWalker,有了它可以方便地在IE实现Traversal API 2的所有功能(nextElementSibling,previousElementSibling,firstElementChild,lastElementChild,children)These functions let you find the next sibling, previous sibling, first child, and last child of a given node (element). What makes them unique is that they safely ignore whitespace nodes so you get the real node you're looking for each time.

function is_all_ws(nod) { return !(/[^\t\n\r ]/.test(nod.data)); } 
function is_ignorable(nod) { return (nod.nodeType == 8) || ((nod.nodeType == 3) && is_all_ws(nod)); } 
function node_before(sib) { 
while ((sib = sib.previousSibling)) { 
if (!is_ignorable(sib)) return sib; 
} 
return null; 
} 
function node_after(sib) { 
while ((sib = sib.nextSibling)) { 
if (!is_ignorable(sib)) return sib; 
} 
return null; 
} 
function first_child(par) { 
var res = par.firstChild; 
while(res) { 
if(!is_ignorable(res)) return res; 
res = res.nextSibling; 
} 
return null; 
} 
function last_child(par) { 
var res = par.lastChild; 
while(res) { 
if(!is_ignorable(res)) return res; 
res = res.previousSibling; 
} 
return null; 
}
Javascript 相关文章推荐
FLASH 广告之外的链接
Dec 16 Javascript
基于jquery的内容循环滚动小模块(仿新浪微博未登录首页滚动微博显示)
Mar 28 Javascript
JQuery分别取得每行最后一列和最后一行的示例代码
Aug 18 Javascript
jQuery内置的AJAX功能和JSON的使用实例
Jul 27 Javascript
javascript实现表格增删改操作实例详解
May 15 Javascript
Jquery ajax请求导出Excel表格的实现代码
Jun 08 Javascript
Javascript简写条件语句(推荐)
Jun 12 Javascript
jQuery中的100个技巧汇总
Dec 15 Javascript
详解jQuery简单的表格应用
Dec 16 Javascript
JS实现数组按升序及降序排列的方法
Apr 26 Javascript
JS字符串与二进制的相互转化实例代码详解
Jun 28 Javascript
关于JS中的作用域中的问题思考分享
Apr 06 Javascript
javascript 类型判断代码分析
Mar 28 #Javascript
js chrome浏览器判断代码
Mar 28 #Javascript
JavaScript 学习笔记一些小技巧
Mar 28 #Javascript
JavaScript 学习笔记二 字符串拼接
Mar 28 #Javascript
jQuery 美元符冲突的解决方法
Mar 28 #Javascript
分享十五个最佳jQuery 幻灯插件和教程
Mar 27 #Javascript
Jquery 1.42 checkbox 全选和反选代码
Mar 27 #Javascript
You might like
全国FM电台频率大全 - 8 黑龙江省
2020/03/11 无线电
Oracle Faq(Oracle的版本)
2006/10/09 PHP
PHP服务器页面间跳转实现方法
2012/08/02 PHP
Auntion-TableSort国人写的一个javascript表格排序的东西
2007/11/12 Javascript
javascript之学会吝啬 精简代码
2010/04/25 Javascript
HTML中的setCapture和releaseCapture使用介绍
2012/03/21 Javascript
js/jQuery对象互转(快速操作dom元素)
2013/02/04 Javascript
Javascript 中创建自定义对象的方法汇总
2014/12/04 Javascript
原生JS实现导航下拉菜单效果
2020/11/25 Javascript
vue组件Prop传递数据的实现示例
2017/08/17 Javascript
jQuery读取本地的json文件(实例讲解)
2017/10/31 jQuery
vue-music关于Player播放器组件详解
2017/11/28 Javascript
select获取下拉框的值 下拉框默认选中方法
2018/02/28 Javascript
解决Layui选择全部,换页checkbox复选框重新勾选的问题方法
2018/08/14 Javascript
微信小程序实现下拉菜单切换效果
2020/03/30 Javascript
浅谈Vue的响应式原理
2019/05/30 Javascript
原生js实现随机点餐效果
2019/12/10 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
2020/09/04 Javascript
vuex中遇到的坑,vuex数据改变,组件中页面不渲染操作
2020/11/16 Javascript
python基础入门学习笔记(Python环境搭建)
2016/01/13 Python
深入浅析python继承问题
2016/05/29 Python
简述Python2与Python3的不同点
2018/01/21 Python
Windows平台Python编程必会模块之pywin32介绍
2019/10/01 Python
python神经网络编程实现手写数字识别
2020/05/27 Python
python利用proxybroker构建爬虫免费IP代理池的实现
2021/02/21 Python
英国性能汽车零件和发动机配件在线:Maxpeedingrods
2019/11/05 全球购物
瑞典在互联网上最大的宠物商店:Animail
2020/10/31 全球购物
职高毕业生自我鉴定
2013/10/21 职场文书
办理护照介绍信
2014/01/16 职场文书
医疗器械售后服务承诺书
2014/05/21 职场文书
项目工作说明书
2014/07/29 职场文书
四年级小学生评语
2014/12/26 职场文书
2015年组织部工作总结
2015/04/03 职场文书
高中诗歌鉴赏教学反思
2016/02/16 职场文书
《追风筝的人》:人心中的成见是座大山,但请不忘初心
2019/11/15 职场文书
Java存储没有重复元素的数组
2022/04/29 Java/Android