javascript获取元素封装代码实例

快乐打工仔 分类:实例代码

在jQuery中提供了各种获取元素的封装方法,当然这都是原生的javascript实现的。

在这里我们自己也来封装一个能够实现获取元素对象的封装效果。

代码实例如下:

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.pipipi.net/" />
<title>犀牛前端部落</title>
<style type="text/css">
#box li {
  width: 350px;
  height: 25px;
  line-height: 25px;
  font-size: 12px;
}
</style>
<script type="text/javascript">
function $(str,oPar){
  var a=oPar?oPar.querySelectorAll(str):document.querySelectorAll(str);
  if(str.indexOf("#")!=-1){
    a[0].index=0;
    return a[0]
  }
  else {
    for (var index = 0, len = a.length; index < len; index++) {
      a[index].index = index;
    }
    return a;
  }
}
window.onload = function () {
  var obox = document.getElementById("box");
  var lis=$(".antzone", obox);
  alert(lis[0].innerHTML);
}
</script>
</head>
<body>
<ul id="box">
  <li>犀牛前端部落欢迎您,只有努力才会有美好的未来</li>
  <li class="antzone">每一天都是新的,必须要好好把握。</li>
  <li>没有人一开始就是高手,必须要努力奋斗。</li>
  <li>未来都是虚无缥缈的,只有当前是现实。</li>
  <li>分享和互助式进步的最大原动力</li>
  <li>本站的url地址是www.pipipi.net。</li>
</ul>
</body>
</html>

代码的核心是$()方法,下面对其做一下分析:

一.代码注释:

(1).function $(str,oPar){},此方法能够返回一个元素集合或者元素,第一个参数是一个css选择器,第二个限定匹配范围的父元素。

(2).var a=oPar?oPar.querySelectorAll(str):document.querySelectorAll(str),如果存在父元素,那么就使用此父元素调用querySelectorAll()方法,否则使用document对象调用。

(3).if(str.indexOf("#")!=-1){

  a[0].index=0;

  return a[0]

},如果是ID选择器,那么给此元素添加一个自定义index属性,属性值设定为0。

并返回此元素。

querySelectorAll()返回的总是一个集合,即便使用的是id选择器。

(4).else {

  for (var index = 0, len = a.length; index < len; index++) {

    a[index].index = index;

  }

  return a;

},否则通过遍历的方式设置每一个元素的自定义index属性值。

二.相关阅读:

(1).querySelectorAll()可以参阅document.querySelectorAll()一章节。

(2).indexOf()可以参阅javascript indexOf()一章节。

javascript获取元素封装代码实例,这样的场景在实际项目中还是用的比较多的,关于javascript获取元素封装代码实例就介绍到这了。

javascript获取元素封装代码实例属于前端实例代码,有关更多实例代码大家可以查看

回复

我来回复
  • 暂无回复内容