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 相关文章推荐
Document:getElementsByName()使用方法及示例
Oct 28 Javascript
基于jquery插件实现常见的幻灯片效果
Nov 01 Javascript
jquery 隐藏与显示tr标签示例代码
Jun 06 Javascript
JQuery对表单元素的基本操作使用总结
Jul 18 Javascript
JavaScript实现向右伸出的多级网页菜单效果
Aug 25 Javascript
jQuery+HTML5美女瀑布流布局实现方法
Sep 21 Javascript
javascript关于继承解析
May 10 Javascript
BootStrap按钮标签及基本样式
Nov 23 Javascript
vue中使用element-ui进行表单验证的实例代码
Jun 22 Javascript
微信小程序异步API为Promise简化异步编程的操作方法
Aug 14 Javascript
小程序获取周围IBeacon设备的方法
Oct 31 Javascript
解决vant-UI库修改样式无效的问题
Nov 03 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
php 求质素(素数) 的实现代码
2011/04/12 PHP
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
2014/06/23 PHP
大家都应该掌握的PHP关联数组使用技巧
2015/12/25 PHP
JavaScript去掉数组中的重复元素
2011/01/13 Javascript
JS中的public和private对象,即static修饰符
2012/01/18 Javascript
js浏览器本地存储store.js介绍及应用
2014/05/13 Javascript
node.js中的fs.chown方法使用说明
2014/12/16 Javascript
jquery实现很酷的网页顶部图标下拉菜单效果
2015/08/22 Javascript
jQuery实现验证年龄简单思路
2016/02/24 Javascript
关于JS中的apply,call,bind的深入解析
2016/04/05 Javascript
jQuery实现查找最近父节点的方法
2016/06/23 Javascript
JS遍历ul下的li点击弹出li的索引的实现方法
2016/09/19 Javascript
vue 配置多页面应用的示例代码
2018/10/22 Javascript
Javascript实现秒表倒计时功能
2018/11/17 Javascript
Vue优化:常见会导致内存泄漏问题及优化详解
2020/08/04 Javascript
[51:22]Fnatic vs IG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python自定义类并使用的方法
2015/05/07 Python
运行django项目指定IP和端口的方法
2018/05/14 Python
查看django执行的sql语句及消耗时间的两种方法
2018/05/29 Python
Python 16进制与中文相互转换的实现方法
2018/07/09 Python
Python爬虫实现“盗取”微信好友信息的方法分析
2019/09/16 Python
在pandas中遍历DataFrame行的实现方法
2019/10/23 Python
html5指南-6.如何创建离线web应用程序实现离线访问
2013/01/07 HTML / CSS
Chain Reaction Cycles芬兰:世界上最大的在线自行车商店
2017/12/06 全球购物
日常奢侈品,轻松购物:Verishop
2019/08/20 全球购物
Java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用?
2015/08/04 面试题
出纳的岗位职责
2013/11/09 职场文书
夏季奶茶店创业计划书
2014/01/16 职场文书
2014年小班元旦活动方案
2014/02/16 职场文书
计算机应届毕业生自荐信范文
2014/02/23 职场文书
学校元旦晚会开场白
2014/12/14 职场文书
2015年依法治校工作总结
2015/07/27 职场文书
vue完美实现el-table列宽自适应
2021/05/08 Vue.js
python 办公自动化——基于pyqt5和openpyxl统计符合要求的名单
2021/05/25 Python
Win11运行cmd提示“请求的操作需要提升”的两种解决方法
2022/07/07 数码科技
CSS list-style-type属性使用方法
2023/05/21 HTML / CSS