位置: 编程技术 - 正文

jQuery原理系列-css选择器的简单实现(jquery的底层原理)

编辑:rootadmin

推荐整理分享jQuery原理系列-css选择器的简单实现(jquery的底层原理),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:jquery原理和实现步骤,jquery 原理,jquery原理和实现步骤,jquery技术,jquery原理和实现步骤,jquery工作原理,jquery的底层原理,jquery 原理,内容如对您有帮助,希望把文章链接给更多的朋友!

jQuery最强大的功能在于它可以通过css选择器查找元素,它的源码中有一半是sizzle css选择器引擎的代码,在html5规范出来之后,增加了document.querySelector和document.querySelectorAll直接查找元素,如果是做移动端开发的,使用jQuery的必要性大大降低。

用js代码实现css选择器,必然是用正则表达式来识别字符串了,当然浏览器提供的原生api 效率更高,以下代码只做原理性展示,并未优先性能,

例如

1)查找id显然是用document.getElementById更高效,浏览器已经做了hash,一次性找到元素不用遍历每个节点。

jQuery原理系列-css选择器的简单实现(jquery的底层原理)

2)查找 name用document.getElementsByName更高效,浏览器已经做了一个含有该name的集合,

3)查找标签名 用document.getElementsByTagName更高效,浏览器已经做了一个含有该tag集合,从这个集合中再查找子集显然可以少遍历很多的元素,至于浏览器是不是在元素创建的时候就更新了缓存的集合就不得而知了,但是从这个集合中判断是不是目标元素的子节点还要用contains也会有性能损耗。

好了,我们先不考虑用原生api优化选择器的问题,只用纯正则表达式来做一个简单的实现,先用正则判断如果含有#就是id选择器,如果含有点号就是class选择器,如果含有[]就是属性选择器,设定好查找目标后开始遍历子节点,要用递归函数遍历childNodes子节点的id,name,className,getAttribute是否匹配,如果匹配就返回该元素。完整的代码如下:

html:

javascript:

以上这篇jQuery原理系列-css选择器的简单实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。

基于jQuery下拉选择框插件支持单选多选功能代码 由于最近项目的需求,需要做一个下拉选择框的插件,支持单选显示表单数据,多选显示表格数据,该插件主要运用了jQuery与jqgrid以及easyui。下面给大家展示

jQuery封装的屏幕居中提示信息代码 本文实例讲述了jQuery封装的屏幕居中提示信息代码。分享给大家供大家参考,具体如下:functionshowLoad(tipInfo,type,autohide){varpic="";switch(type){case0://loadingpic="

jQuery Ajax和getJSON获取后台普通json数据和层级json数据用法分析 本文实例讲述了jQueryAjax和getJSON获取后台普通json数据和层级json数据用法。分享给大家供大家参考,具体如下:运行效果截图如下:具体代码如下:!DOCTYP

标签: jquery的底层原理

本文链接地址:https://www.jiuchutong.com/biancheng/386643.html 转载请保留说明!

上一篇:jQuery原理系列-常用Dom操作详解(jquery实现原理)

下一篇:基于jQuery下拉选择框插件支持单选多选功能代码(jquery给下拉框添加选项)

  • 小企业会计准则下退企税分录
  • 消费税计算时的进项税额
  • 企业所得税税前扣除管理办法
  • 金融企业往来支出属于什么科目
  • 办理税务登记需要法人身份证原件吗
  • 异地预缴税款不交可以吗
  • 收到政府土地补偿,用于种植农作物
  • 增值税专用发票和普通发票的区别
  • 广告公司属于服务企业吗
  • 财政拨款收入和财政补助收入的区别
  • 全额抵扣的发票怎么申报增值税
  • 应扣未扣税款向谁追缴
  • 机械租赁公司拿什么发票做成本账
  • 建安企业增值税税负是多少
  • 对方公司不能开发票怎么办
  • 印花税法律制度规定不征收印花税的是什么
  • 企业从政府取得的经济资源,如果与企业销售商品
  • 技术转让所得减去成本吗
  • 高危行业企业探索实行什么制度
  • 离线发票在哪里查看
  • 红包营销活动方案
  • 财务保证金怎么做分录
  • 小规模纳税人贷款利息收入增值税税率
  • 以不动产对外投资要交什么税
  • 未分配利润转入本年利润
  • 应收票据计入应收账款吗
  • 付款后多久开发发票
  • 购置税和购车税一样吗
  • 接受应税劳务的会计分录怎么写
  • 周转材料盘点报告单
  • 买手机5000预算
  • windows在cmd设置变量
  • 小规模减免的增值税汇算清缴
  • 待摊费用和预提费用的区别
  • 提升一下网速
  • php实验步骤
  • 小规模发票一般怎么开
  • 发放员工奖励
  • 银行汇票属于银行存款吗
  • 年中建账年初余额怎么录入
  • 购进设备抵扣税额
  • 行政单位捐赠会计分录怎么做的
  • redux reducer使用教程
  • 前端不使用明文密码方案
  • 劳务分包的形式有哪些
  • python读取text
  • 预存5000送2000什么套路
  • 固定资产融资租赁如何确认入账价值
  • 去年发生了什么
  • 交强险怎么报警
  • sql server 排名函数
  • 提高资产利用率的例子
  • 代扣代缴境外增值税怎么申报
  • 取得虚开普票如何处置
  • 某首饰商城为增值税一般纳税人,2021年1月发生以下业务
  • 租出的固定资产
  • 暂估费用科目
  • 土地承包经营合同生效条件
  • 交通运输业安全经费提取的会计处理
  • 结汇时和月底结转汇兑损益
  • 备查账一般采用什么账簿
  • centos中rpm包怎么安装
  • win8电脑无法识别usb设备怎么办
  • Windows Server 2008禁止模块安装提升网络性能
  • mmc无法创建管理单元win10
  • win8启用或关闭windows功能
  • win7移动硬盘无法弹出
  • rteng7.exe - rteng7是什么进程 有什么用
  • gnu grub卸载
  • linux mv命令的用法
  • unity输入中文
  • js判断数组是否相等
  • 查看系统网络连接数
  • Node.js中的construct构造函数
  • ssh自动输入密码登录
  • android事件响应和处理机制
  • 每天一篇小练笔主题
  • javascript的基本规范
  • 酒席发票
  • 2023年企业所得税计算公式表
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设