首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏与神兽党一起成长

    Sizzle.selectors.matchleftMatch

    对象Sizzle.selectors.match/leftMatch中存放了表达式类型和正则的映射,正则用于确定块表达式的类型,并解析其中的参数。 相关代码如下: var Expr = Sizzle.selectors = { match : { ID: /#((?

    55720发布于 2018-10-19
  • 来自专栏腾讯IMWeb前端团队

    jQuery选择器Sizzle原理分析(下)

    拥有号称当时业界最快的DOM选择器Sizzle,那么为什么他能自称是最快呢?让我们来分析一下Sizzle.js的源码,了解他的设计精妙之处。 正常看起来是这样的,我们对每个种子进行边解析边分析的过程符合要求,但是Sizzle做了更进一步的处理,通过空间换时间的方式,提高了查询性能,他采用了一种叫先编译后执行的过程。 在选择器最后尽量指定seed元素(千万不能用*):因为Sizzle会从最后的选择符开始寻找符合条件的seed集合 4. 尽量使用父子查询来代替后代查询:后代查询需要循环查找,父子查询范围小很多。

    1K20编辑于 2022-06-29
  • 来自专栏腾讯IMWeb前端团队

    「理论」jQuery选择器Sizzle原理分析(上)

    拥有号称当时业界最快的DOM选择器Sizzle,那么为什么他能自称是最快呢?让我们来分析一下Sizzle.js的源码,了解他的设计精妙之处。 二、Sizzle的特别之处 首先介绍下jQuery选择器模块,就是Sizzle选择器,他的网址是http://sizzlejs.com/,如果你只需要进行文档节点的查询,可以直接引入Sizzle的文件就可以了 Sizzle选择器有哪些特点呢? 1. 高效,Sizzle通过很多方法来实现了极致的访问速度,为我们搜索DOM节点提供了一个很好的指导,号称是当时最快的DOM选择器引擎。 2. 四、Sizzle框架设计思路分析 Sizzle快具体在哪些原因呢,主要从几个角度来分析 1. 然后我们需要把Sizzle查询的整体思路给画出来,把作者的设计思路画出来,再分析源码就清晰很多。

    1.4K10编辑于 2022-06-29
  • 来自专栏前端一会

    jQuery源码研究:选择器

    var Sizzle = (function(window){ // 具体实现暂略... })(window) css选择器的具体实现是一个匿名自执行函数,传入参数为window对象。 方法的主体从行715开始直到结束,定义了Sizzle构造函数,若干工具方法和Sizeele静态方法及属性,概览看下图,由于内容太多,只截部分: ? 1、Sizzle构造函数: function Sizzle( selector, context, results, seed ){ var m, i, elem, nid, match, groups 返回 调用select()方法后的值 return select( selector.replace( rtrim, "$1" ), context, results, seed ); } Sizzle

    80320发布于 2019-08-29
  • 来自专栏前端一会

    jQuery源码研究:选择器模块所用方法(1)

    Sizzle模块第二篇。 顺序看下去,看模块所用的方法。 2、createCache()方法,创建一个受限的键值对类型缓存。 expando是一个字符串,expando = "sizzle" + 1 * new Date()。 4、assert()方法,检测所用元素是否可用。看assert这个单词的含义即知,是一个断言方法。

    39630发布于 2019-08-29
  • 来自专栏极客编程

    Cheerio,服务端的JQuery。

    像jQuery中,它是对DOM中选择目标选择器的主要方法,但又不同于jQuery是建立在顶部的 CSSSelect 库,它实现了大部分的Sizzle选择器。 PS:Sizzle是一个纯javascript CSS选择器引擎。jquery1.3开始使用sizzle。感兴趣的同学可以自己了解一下。

    1.4K10发布于 2018-09-04
  • 来自专栏偏前端工程师的驿站

    JS魔法堂:判断节点位置关系

    parentEl) return true; prEl = prEl.parentNode; } return false; } 综合方案二,来自Sizzle (https://github.com/jquery/sizzle/blob/master/src/sizzle.js#L688) 注意:Sizzle的contains版本是contains(ancestor

    6.1K50发布于 2018-01-18
  • 来自专栏c++ 学习分享

    JavaScript注释(多行注释+单行注释)

    /* * jQuery JavaScript Library v3.3.1 * https://jquery.com/ * Includes Sizzle.js * https://sizzlejs.com

    1.2K20编辑于 2023-07-07
  • 来自专栏前端干货和生活感悟

    jQuery源码解析之clone()

    jQuery.isXMLDoc( elem ) ) { // We eschew Sizzle here for performance reasons: https://jsperf.com /getall-vs-sizzle/2 destElements = getAll( clone ); srcElements = getAll( elem );

    3K20编辑于 2022-03-28
  • 来自专栏跟着阿笨一起玩NET

    jQuery的编码标准和最佳实践

    find()方法比较快是由于第一个选择符(id)不会通过Sizzle的处理,更多详情。 // BAD, a nested query for Sizzle selector engine var $productIds = $("#products div.id"); // GOOD, #products is already selected by document.getElementById() so only div.id needs to go through Sizzle

    1.5K20发布于 2018-09-19
  • 来自专栏lhyt前端之路

    关于JS的正则表达式

    jQuery作者的正则,号称世界上最强的选择器sizzle,就是强大正则做出来的(晚点再更新sizzle解读)

    6.4K10编辑于 2022-09-21
  • 来自专栏前端干货和生活感悟

    jQuery源码解析之detach()/empty()/remove()/unwrap()

    ='pTwo' 的元素节点的集合,filter() 里面最后还调用了jQuery.find.matchesSelector()和jQuery.find.matches() 方法,这两个方法内都会调用 Sizzle ()方法,而Sizzle()内调用了 select() 方法,select() 比较复杂,本文暂不贴码解析。

    1.8K10编辑于 2022-03-28
  • 来自专栏前端导学

    jquery学习笔记1

    其发展过程中,有几次重要的变革: ☑ 1.2.3 版发布,引入数据缓存,解决循环引用与大数据保存的问题 ☑ 1.3 版发布,它使用了全新的选择符引擎Sizzle,在各个浏览器下全面超越其他同类型

    74670发布于 2019-05-26
  • 来自专栏lhyt前端之路

    关于JS的正则表达式0.前言1.捕获2.非捕获3.匹配模式彩蛋:

    jQuery作者的正则,号称世界上最强的选择器sizzle,就是强大正则做出来的(晚点再更新sizzle解读)

    1.9K20发布于 2018-10-31
  • 来自专栏前后两端不设限

    javaScript操作DOM

    document.images document.body document.head 等 - 通过CSS类名document.getElementsByClassName( ) - 通过CSS选择器:如(Sizzle

    90040编辑于 2022-12-24
  • 来自专栏九彩拼盘的叨叨叨

    jQuery 最佳实践(译)

    具体的选择器放右边,不具体的写左边 //不推荐 $('div.data .brad') // 推荐 $('.data td.brad') jQuery的选择器是Sizzle是下向上来找匹配的元素的。

    1.2K30发布于 2018-08-27
  • 来自专栏Dance with GenAI

    小学生作业辅导神器kimichat:撰写手工英语视频脚本

    They sizzle and bubble. I will stir them." *(Child adding tomatoes)* "Look, I add the tomatoes.

    39210编辑于 2024-06-24
  • 来自专栏前端达人

    2024年了,为何有些资深开发者仍钟爱JQuery,你怎么看?

    这一版本解决了之前版本中的一些问题,例如在Chrome和Safari浏览器中对元素尺寸计算的修正,以及重新暴露了在移除Sizzle过程中不小心删除的jQuery.find.tokenize方法

    1K10编辑于 2024-01-03
  • 来自专栏杨飞@益术

    jquery要怎么写才能速度最快?(转…

    (4)$('#parent > .child') jQuery内部使用Sizzle引擎,处理各种选择器。 Sizzle引擎的选择顺序是从右到左,所以这条语句是先选.child,然后再一个个过滤出父元素#parent,这导致它比最快的形式大约慢70%。

    2.1K30发布于 2019-02-22
  • 来自专栏杨飞@益术

    jQuery最佳实践

    (4) $('#parent > .child') jQuery内部使用Sizzle引擎,处理各种选择器。 Sizzle引擎的选择顺序是从右到左,所以这条语句是先选.child,然后再一个个过滤出父元素#parent,这导致它比最快的形式大约慢70%。

    1.7K20发布于 2019-02-22
领券