位置: 编程技术 - 正文

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给下拉框添加选项)

  • 计算应纳税所得额时 不得扣除支出有哪些
  • 个人所得税如何办理退税
  • 无税率的汽油卡是什么
  • 水电费专用发票税率
  • 没有数字的公章有效吗三方协议盖的章没有数字
  • 个人所得税如果两份工作怎么扣
  • 没有外币账户可以收外币吗
  • 私企招残疾人可以辞职吗
  • 非主营业务收入计入什么科目
  • 公司租房水电费如何入帐
  • 增值税减免备案改备查后续管理
  • 固定资产计提折旧的原则
  • 红冲去年的收入怎么做账
  • 汽车融资租赁行业发展趋势
  • 微小企业税率由3%变为1%客户要求降价
  • 固定资产销售税务处理
  • 转售的物业
  • 目前建筑里面税金总共包括几部分
  • 增值税扣款凭证包括
  • 资本收益率的计算公式净资产收益率
  • 劳务派遣公司会扣工资吗
  • 小微企业的特点及经营模式举例
  • 外汇收入会计分录
  • 没有进出口权可以做外贸吗
  • 税费是哪个会计科目?
  • 购进商品没收到货怎么办
  • 库存现金与实际不符怎么调
  • 华为鸿蒙系统怎么降级版本
  • windows10你需要trustedinstaller提供的权限才能更改
  • 无形资产入账包括增值税吗
  • macos big sur使用技巧
  • php字符串定义
  • 建筑业预缴企业所得税是分季预缴按年抵减吗
  • 资产减值损失结转怎么算
  • 涉及产权的案例
  • 政府会计计提折旧会计分录2022
  • ssm框架集成
  • php curl_exec
  • php单态模式简单解释
  • javascript数据类型分为哪两类
  • 客户不要的专票我们可以不作废吗
  • 应付账款转入营业外收入会计分录
  • 未实现汇兑损益如何计算
  • 充油卡 发票
  • 前端日报
  • 不是公司员工差旅费可以入差旅费吗
  • 票据粘贴顺序是什么
  • 哪个命令可以对mysql数据库做完全备份
  • 不动产经营租赁发票开具注意
  • 一般纳税人一直零申报会怎么样
  • 企业对公帐户怎么转出私人帐户
  • 核定征收的情况包括
  • 盈余公积的会计科目
  • 增值税留底注销时怎么办
  • 企业小汽车折旧年限
  • 以土地作价投资合伙企业是否缴纳土地增值税
  • 电子承兑背书一般多久到账
  • 受托代销商品款是什么意思
  • 购入不需要安装的固定资产会计科目
  • 出口运保费是什么费用
  • 佣金付给别人公司合法吗
  • 小规模纳税人差额纳税申报表
  • 培训费产生的差额怎么算
  • 培训费用支出
  • 一个企业建账需要注意些什么
  • win7复制文件到system32没有权限
  • memory在电脑里是什么意思
  • win7系统安装的配置要求有什么
  • win7无法保存对权限所作的更改
  • unity4.1
  • perl判断字符串相等
  • unity怎么用
  • 背包 ui
  • js函数详解
  • 简述js json对象和字符串的转换方式
  • android 实例
  • unity3d接入抖音广告api
  • 工会经费申报表在哪里查询
  • 国外工资个人所得税
  • 亿企代账和云账房哪个好用?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设