说说在 DOM 扩展中,JavaScript 如何对 DOM 元素进行遍历

来源:互联网 发布:儿童牙刷推荐 知乎 编辑:程序博客网 时间:2024/06/13 02:45

元素之间的空格,在 IE9 以及之前的版本不会返回文本节点,而其他浏览器都会返回文本节点。为了解决这一差异,Element Traversal 规范新定义了一组属性:

属性名称 说明 childElementCount 返回子元素(不包括文本节点和注释)的个数。 firstElementChild 第一个子元素 lastElementChild 最后一个子元素 previousElementSibling 前一个同辈元素 nextElementsSibling 后一个同辈元素

之前是这样遍历某个元素的所有子元素的:

var i,    len,    child = element.firstChild;while(child != element.lastChild){    if (child.nodeType == 1){//是元素           processChild(child);    }    child = child.nextSibling;}

现在这样写,会更简洁:

var i,    len,    child = element.firstElementChild;while(child != element.lastElementChild){    processChild(child);    child = child.nextElementSibling;}

目前支持 Element Traversal 规范的有这些浏览器:

  • IE 9+
  • Firefox 3.5+
  • Safari 4+
  • Chrome
  • Opera 10+
0 0