javascript 节点遍历函数

 更新时间:2010年03月28日 14:02:32   作者:  
火狐官网上找到的一组函数,相当于treeWalker,有了它可以方便地在IE实现Traversal API 2的所有功能
火狐官网上找到的一组函数,相当于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;
}

相关文章

  • 浅谈JS中this在各个场景下的指向

    浅谈JS中this在各个场景下的指向

    这篇文章主要介绍了浅谈JS中this在各个场景下的指向,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • three.js欧拉角和四元数的使用方法

    three.js欧拉角和四元数的使用方法

    这篇文章主要给大家介绍了关于three.js欧拉角和四元数的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者使用three.js具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-07-07
  • JS实现图片转换成base64的各种应用场景实例分析

    JS实现图片转换成base64的各种应用场景实例分析

    这篇文章主要介绍了JS实现图片转换成base64的各种应用场景,结合实例形式分析了javascript实现图片转换成base64的各种应用场景的相关操作技巧与使用注意事项,需要的朋友可以参考下
    2018-06-06
  • ExtJs的Ext.Ajax.request实现waitMsg等待提示效果

    ExtJs的Ext.Ajax.request实现waitMsg等待提示效果

    这篇文章主要介绍了ExtJs的Ext.Ajax.request实现waitMsg等待提示效果,需要的朋友可以参考下
    2017-06-06
  • 浅谈JS之iframe中的窗口

    浅谈JS之iframe中的窗口

    下面小编就为大家带来一篇浅谈JS之iframe中的窗口。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • js获取图片大小的函数代码

    js获取图片大小的函数代码

    工作小知识积累,获取图片的大小,需要的朋友可以参考下。
    2011-09-09
  • 详解ES6中的Map与Set集合

    详解ES6中的Map与Set集合

    这篇文章主要介绍了详解ES6中的Map与Set集合,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • JavaScript之移动端H5生成图片解决方案讲解

    JavaScript之移动端H5生成图片解决方案讲解

    这篇文章主要介绍了JavaScript之移动端H5生成图片解决方案讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • 检查输入的是否是数字使用keyCode配合onkeypress事件

    检查输入的是否是数字使用keyCode配合onkeypress事件

    检查输入的是否是数字在本文使用keyCode配合onkeypress事件来实现,具体示例如下
    2014-01-01
  • js图片上传的封装代码

    js图片上传的封装代码

    这篇文章主要为大家详细介绍了js图片上传的封装代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08

最新评论