<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<div>
<!--结构-->
<div>1</div>
<div id="cur">2</div>
<div>3</div>
</div>
<script type="text/javascript">
var DomTools = {
next: function(ele){
/*
获取同级目录下后面相邻得元素
*/
var target = ele.nextSibling;
while(target.nodeType !=1)
{
target = target.nextSibling;
}
return target;
},
prev: function(ele){
/*
获取同级目录下前面相邻得元素
*/
var target = ele.previousSibling;
while(target.nodeType !=1)
{
target = target.previousSibling;
}
return target;
},
nextAll: function(ele){
/*
获取同级目录下后面所有得元素
*/
var arr= [];
var target = ele.parentElement.children;
for(var i = target.length-1;i>0;i--)
{
if(target[i]==ele)
{
break;
}
arr.unshift(target[i]);
}
return arr;
},
prevAll: function(ele){
/*
获取同级目录下前面所有得元素
*/
var arr = [];
var target = ele.parentElement.children;
for(var i =0;i<target.length;i++)
{
if(target[i]==ele)
{
break;
}
arr.push(target[i]);
}
return arr;
},
first: function(ele){
/*
获取子元素中得第一个元素
*/
var target = ele.children;
for(var i=0;i<target.length;i++)
{
if(target[i].nodeType ==1)
{
break;
}
}
return target[i];
},
last: function(ele){
/*
获取子元素中得最后一个元素
*/
var target = ele.children;
for(var i= target.length-1;i>0;i--)
{
if(target[i].nodeType ==1)
{
break;
}
}
return target[i];
},
eq: function(current){
// 方法
var parent = current.parentNode;
for(var i=0;i<parent.children.length;i++){
if(current == parent.children[i]){
return i;
}
}
/*根据坐标获取相应位置得元素*/
},
getElementsByClassName: function(className){
/*
重写这个方法
*/
var allElements=document.getElementsByTagName("*");
var resultArray=[];
for(var i=0,j=0;i<allElements.length;i++)
{
if(allElements[i].className==className)
{
resultArray[j]=allElements[i];
j++;
}
}
return resultArray;
}
}
// 调用
var cur = document.getElementById('cur');
console.log(DomTools.eq(cur))
</script>
</body>
</html>