位置: 编程技术 - 正文

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

  • 业务往来中接受礼品道德吗
  • 哪些费用的进项税可以抵扣
  • 股权投资收回的账务处理
  • 个税系统添加不了新的单位
  • 个税app显示已离职是什么原因
  • 公司刚注册之后怎么办
  • 销售大型设备的税率
  • 公司因担保产生损失
  • 开专票还要另外再交钱么
  • 外借资质收取的税费会计处理
  • 银行美元账户调汇会计分录
  • 服装厂委托物资零散加工成品如何做账呢?
  • 税控系统维护费账务处理
  • 12月开的发票能抵下年度的所得税吗
  • 个人名义去税务局开票
  • 上年工资计提多了才发现
  • 单位低价向职工售房个人所得税计算
  • 电脑右下角弹出网页没有×怎么关闭
  • 注册资金印花税税目
  • Window7+CentOS 6.5双系统安装图文方法
  • php数组函数,选班长
  • 增值税发票月末怎么账务处理
  • 从价计征房产税如何计算
  • element html
  • 报废车怎么走流程
  • elementui级联选择器清空方法
  • auto.js 教程
  • 工程收到款项会计分录
  • aida理论包括哪些内容?
  • 公司的归属权
  • 免税农产品包括30万元吗
  • 勾选平台发票下载
  • 上个月未开票本月怎么算
  • 不是企业职工能否挂靠企业交社保
  • 所得税汇算清缴报告在哪查
  • 差额征税的扣除额是填什么钱
  • 企业的固定资产因自然灾害产生的净损失计入
  • 会计核算中并不是所有的总分类帐户都需要开设明细账户
  • centos上安装vscode
  • 收集整理数据
  • 出租营改增之前取得的有形动产
  • 事业单位相关规定有哪些
  • sqlserver2008连接
  • 什么叫境外地区
  • 政府补贴需要缴纳印花税吗
  • 存货跌价准备确认损失分录
  • 固定资产公司
  • 嵌入式软件产品应纳税额
  • 固定资产拆除怎么处理
  • 合同资产科目设置
  • 折价或溢价摊销属于借款费用
  • 长期债券是长期借款吗
  • 农民扶贫款到哪去领
  • 固定资产抵扣比例
  • 红字发票填开说明是?
  • 预售房提前还款需要去解押吗
  • 劳务费如何做账务处理
  • 借款费用应如何入账
  • 数据库中的冗余度是什么意思
  • Win9传闻汇总:通知中心+免费下载+手势功能等
  • linux终端记录
  • wcu.exe是什么
  • zhp.exe是什么进程
  • Win10虚拟内存怎么转移
  • wray是什么意思
  • win7安装无法将windows配置为在此计算机上运行
  • win7 分区表
  • linux简明教程
  • ie等级
  • Android GBK与UTF-8
  • css checked
  • html加载条代码
  • jquery点击跳转页面
  • android布局背景颜色的代码
  • unityugui
  • JavaScript中的this指向
  • 增值税纳税申报表附列资料(三)
  • 电子税务局校验码
  • 开企业资信证明怎么办?需要哪些材料?
  • 停车票日期在哪里
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设