1、返回指定元素的第一个子元素或者NULL
function first(obj){ var e=obj.firstChild; //获取元素的第一个子结点 while(e && e.nodeType != 1){//如果存在该子结点,且类型不等于元素,则搜索下一个结点,直到结点类型为元素 e = e.nextSibling; } return e; }
2、返回指定元素的最后一个子元素或者NULL
function last(obj){ var e=obj.lastChild; //获取元素的最后一个子结点 while(e && e.nodeType != 1){//如果存在该子结点,且类型不等于元素,则搜索上一个结点,直到结点类型为元素 e = e.previousSibling; } return e; }
3.parentNode获取指定结点的父元素
//扩展parentNode指针的功能,实现一次能够操纵多个父元素 //参数:obj代表当前结点,n表示要操纵的父元素级数 //返回值:返回指定层级的父元素 function parent(obj,n){ var n = n||1;//如果没有指定第二个参数值,则表示获取上一级父元素 for(var i = 0;i < n;i ++){//逐层遍历父元素 if(e.nodeType == 9) break;//到了根结点返回根元素 if(e != null) e = e.parentNode;//获取上一级父元素 } }
3、获取指定元素的上一个相邻元素或者NULL
function pre(obj){ var e = obj.previousSibling; while(e && e.nodetype != 1){ e = e.previousSibling; } return e; }
4、获取指定元素下一个相邻元素或者NULl
function next(obj){ var e = obj.nextSibling; while(e && e.nodeType != 1){ e = e.nextSibling; } return e; }