位置: 编程技术 - 正文
推荐整理分享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,一次性找到元素不用遍历每个节点。
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 转载请保留说明!友情链接: 武汉网站建设