Javascript封装id、class与元素选择器方法示例


Posted in Javascript onMarch 13, 2017

由于各个浏览器都支持的选择方法只有如下三种:

     1、document.getElementById()

     2、document.getElementsByName()

     3、document.getElementsByTagName()

所以在封装选择器的时候要考虑浏览器的兼容性。

示例代码如下:

<script>//封装id选择器
  function $(selector){
    var c=selector.substring(0,1);//获取第一个字符
    if(c=="#"){
      return document.getElementById(selector.substring(1,selector.length));//返回相应的元素
    }
  }
  
  
  //封装class选择器
  function $(selector){
    var className=selector.substring(1);//从索引为1的元素往后取
    //判断浏览器是否支持getElementsByClassName
    if(document.getElementsByClassName){
      return document.getElementsByClassName(className)
      //document.querySelectorAll('.cls')兼容性有问题
    }else{
      //document.getElementsByTagName('*')+正则表达式
      //\s空白字符 ^开始 $结束
      var reg=new RegExp('^|\\s'+className+'$|\\s');
      var elems=document.getElementsByTagName("*");//获取页面中所有元素
      var arr=[];//保存获取到的指定className的元素
      for(var i=0;i<elems.length;i++){
        if(reg.test(elems[i].className)){//如果和模式匹配上
          arr.push(elem[i]);
        }
      }
      return arr;
    }
  }
  
  //封装标签选择器  
  function $(element){
    return document.getElementsByTagName(element);
  }
 </script>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
如何用javascript判断录入的日期是否合法
Jan 08 Javascript
jquery实现居中弹出层代码
Aug 25 Javascript
jQuery示例收集
Nov 05 Javascript
Javascript 实现复制(Copy)动作方法大全
Jun 20 Javascript
基于dropdown.js实现的两款美观大气的二级导航菜单
Sep 02 Javascript
基于javascript实现彩票随机数生成(简单版)
Apr 17 Javascript
jQuery技巧之让任何组件都支持类似DOM的事件管理
Apr 05 Javascript
JavaScript绑定事件监听函数的通用方法
May 14 Javascript
jQuery实现简单的tab标签页效果
Sep 12 Javascript
JS中图片压缩的方法小结
Nov 14 Javascript
基于casperjs和resemble.js实现一个像素对比服务详解
Jan 10 Javascript
vue与iframe之间的信息交互的实现
Apr 08 Javascript
原生js实现吸顶效果
Mar 13 #Javascript
vue2.0嵌套路由实现豆瓣电影分页功能(附demo)
Mar 13 #Javascript
jquery.flot.js简单绘制折线图用法示例
Mar 13 #Javascript
深入理解Node.js中的进程管理
Mar 13 #Javascript
jQuery简易时光轴实现方法示例
Mar 13 #Javascript
JavaScript评论点赞功能的实现方法
Mar 13 #Javascript
JS+html5 canvas实现的简单绘制折线图效果示例
Mar 13 #Javascript
You might like
phpfans留言版用到的数据操作类和分页类
2007/01/04 PHP
使用bcompiler对PHP文件进行加密的代码
2010/08/29 PHP
《PHP编程最快明白》第八讲:php启发和小结
2010/11/01 PHP
php中将时间差转换为字符串提示的实现代码
2011/08/08 PHP
Yii使用ajax验证显示错误messagebox的解决方法
2014/12/03 PHP
PHP中使用imagick生成PSD文件缩略图教程
2015/01/26 PHP
php实现判断访问来路是否为搜索引擎机器人的方法
2015/04/15 PHP
Yii2.0预定义的别名功能小结
2016/07/04 PHP
PHP开发API接口签名生成及验证操作示例
2020/05/27 PHP
JS前端框架关于重构的失败经验分享
2013/03/17 Javascript
项目中常用的JS方法整理
2015/01/30 Javascript
探究JavaScript函数式编程的乐趣
2015/12/14 Javascript
盘点javascript 正则表达式中 中括号的【坑】
2016/03/16 Javascript
利用JQuery直接调用asp.net后台的简单方法
2016/10/27 Javascript
JavaScript中绑定事件的三种方式及去除绑定
2016/11/05 Javascript
jQuery无缝轮播图代码
2016/12/22 Javascript
jQuery Ajax向服务端传递数组参数值的实例代码
2017/09/03 jQuery
vue脚手架及vue-router基本使用
2018/04/09 Javascript
[03:36]2014DOTA2 TI小组赛综述 八强诞生进军钥匙球馆
2014/07/15 DOTA
python matplotlib 注释文本箭头简单代码示例
2018/01/08 Python
Python中enumerate()函数编写更Pythonic的循环
2018/03/06 Python
对python Tkinter Text的用法详解
2018/10/11 Python
python3射线法判断点是否在多边形内
2019/06/28 Python
Django 模型类(models.py)的定义详解
2019/07/19 Python
Python实现ATM系统
2020/02/17 Python
CSS3实现时间轴效果
2016/07/11 HTML / CSS
大专生自荐信
2013/10/04 职场文书
高中自我鉴定
2013/12/20 职场文书
观看《永远的雷锋》心得体会
2014/03/12 职场文书
地质工程专业毕业生求职信
2014/08/08 职场文书
学习优秀共产党员先进事迹思想报告
2014/09/17 职场文书
2014年妇幼保健工作总结
2014/12/08 职场文书
简单的辞职信范文(2016最新版)
2015/05/12 职场文书
终止解除劳动合同证明书
2015/06/17 职场文书
php+laravel 扫码二维码签到功能
2021/05/15 PHP
通过Qt连接OpenGauss数据库的详细教程
2021/06/23 PostgreSQL