/**
* @author huangbo
*/
//查找相关元素的前一个兄弟元素的函数
function prev(elem){
do{
elem = elem.previousSibling;
}while(elem && elem.nodeType != 1);
}
//查找相关元素的下一个兄弟元素的函数
function next(elem){
do{
elem = elem.nextSibling;
}while(elem && elem.nodeType!=1);
};
//查找元素第一个子元素的函数
function first(elem){
elem = elem.fristChild;
return elem && elem.nodeType!=1?next(elem):elem;
}
//查找元素最后一个子元素的函数
function last(elem){
elem = elem.lastChild;
return elem && elem.nodeType!=1?prev(elem):elem;
}
//查找元素父元素的函数
function parent(elem,num){
num = num || 1;
for(var i=0;i<num;i++){
if(elem !=null){
elem = elem.parentNode;
}
return elem;
}
}
//根据id查找
function id(id){
return document.getElementById(id);
}
//根据名字查找,如果没有传elem,就从整个文档中取
function tag(name,elem)
{
return (elem||document).getElementsByTagName(name);
}
//找出全部有指定类值的元素的函数
function hasClass(name,type){
var r = [];
var re = new RegExp("(^|//s)"+name+"(//s|$)");
var e = document.getElementsByTagName(type || "*");
for(var j=0;j<e.length;j++){
if(re.test(e[j])){
r.push(e[j]);
}
}
return r;
}
//如下使用,所有类值为test的元素
hasClass("test");
//所有类值test的li元素
hasClass("test","li");
//第一个元素
hasClass("test","li")[0];
//获取元素及其子元素文本的函数
function text(e){
var t = "";
e = e.childNodes || e;
for(var j=0;j<e.length;j++){
t += e[j].nodeType != 1 ? e[j].nodeValue :text(e[j].childNodes);
}
}