http://www.css88.com/archives/514
javascript DOM 遍历
以下一系列的辅助函数可以帮助您,他们能取代标准的previousSibling,nextSibling,firstChild,lastChild,parentNode;
JavaScript代码
- //————————DOM 遍历,如果元素没找到则返回null———————–//
- //—查找相关元素的前一个兄弟元素—//
- function prev(elem){
- do{
- elem=elem.previousSibling;
- }while(elem&&elem.nodeType!=1);
- return elem;
- }
- //—查找相关元素的下一个兄弟元素—//
- function next(elem){
- do{
- elem=elem.nextSibling;
- }while(elem&&elem.nodeType!=1);
- return elem;
- }
- //—查找第一个子元素的函数—//
- function first(elem){
- elem=elem.firstChild;
- return elem && elem.nodeType!=1 ?next(elem):elem;
- }
- //—查找最后一个子元素的函数—//
- function last(elem){
- elem=elem.lastChild;
- return elem && elem.nodeType!=1 ?prev(elem):elem;
- }
- //—查找父级元素的函数—//
- //num是父级元素的级次,parent(elem,2)等价于parent(parent(elem))
- function parent(elem,num){
- num=num||1;
- for(var i=0; i<num; i++){
- if(elem!=null){
- elem=elem.parentNode;
- }
- }
- return elem;
- }
调用案例:first(document.getElementById(“everywhere”)).style.backgroundColor=”#ff0000″;
以上是《精通Javascript》提供