自己封装的Dom获取节点 元素等库

<!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>

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值