首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

曾经红级一时的jQuery还记得吗?拥有号称当时业界最快的DOM选择器Sizzle,那么为什么他能自称是最快呢?让我们来分析一下Sizzle.js的源码,了解他的设计精妙之处。...关系选择器:如果token是关系选择器,则生成函数的时候需要同上一个选择器共同生成。 2. 非关系选择器:如果是非关系选择器,则直接判断种子是否满足条件即可。...为此我们可以得出几个优化选择器的结论: 1. 尽量在选择器以ID来查询,或者至少开头是以ID来查询:这样可以快速缩小查询的根节点。 2....在选择器最后尽量指定seed元素(千万不能用*):因为Sizzle会从最后的选择符开始寻找符合条件的seed集合 4. 尽量使用父子查询来代替后代查询:后代查询需要循环查找,父子查询范围小很多。...缓存已查询的jQuery对象:通过空间换时间的方式,不要每次都要执行过滤函数。 扫码下方二维码, 随时关注更多前端干货文章! ▼ 微信:IMWebTech

77620
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    | 导语 曾经红级一时的jQuery还记得吗?拥有号称当时业界最快的DOM选择器Sizzle,那么为什么他能自称是最快呢?让我们来分析一下Sizzle.js的源码,了解他的设计精妙之处。...作者:朱胜--腾讯web前端工程师 @IMWeb前端社区 一、前沿 DOM选择器(Sizzle)是jQuery框架中非常重要的一部分,在H5还没有流行起来的时候,jQuery为我们提供了一个简洁,方便,...虽然现在Vue,React等MVVM框架的热度如日中天,但是了解下jQuery的DOM选择器设计思路,可以学习到Sizzle设计的精妙之处,为自己模块设计和框架设计提供很好的参考意义,也为了解MVVM框架虚拟...二、Sizzle的特别之处 首先介绍下jQuery选择器模块,就是Sizzle选择器,他的网址是http://sizzlejs.com/,如果你只需要进行文档节点的查询,可以直接引入Sizzle的文件就可以了...,而不需要整个jQuery文件。

    1.1K10

    jQuery 选择器

    原生 JS 获取元素方式很多,很杂,而且兼容性情况不一致,因此 jQuery 给我们做了封装,使获取元素统一标准。 1....基础选择器 $("选择器")   // 里面选择器直接写 CSS 选择器即可,但是要加引号 ? 2. 层级选择器 层级选择器最常用的两个分别为:后代选择器和子代选择器。 ?...筛选选择器 筛选选择器,顾名思义就是在所有的选项中选择满足条件的进行筛选选择。常见如下 : ? 4....知识铺垫 jQuery 设置样式 $('div').css('属性', '值')     隐式迭代 // 遍历内部 DOM 元素(伪数组形式存储)的过程就叫做隐式迭代。...案例:淘宝服饰精品案例 思路分析: 1.核心原理:鼠标经过左侧盒子某个小li,就让内容区盒子相对应图片显示,其余的图片隐藏。

    2.8K30

    jQuery选择器

    基本选择器(*) 在开发过程中,jQuery对象的定义 var $obj=$("选择的对象"); //$obj为自定义的元素名 id选择器 $("#id"); 选中的结果是该元素的jQuery对象 标签选择器...$("标签名称");jquery对象的集合,如果选择结果只有一个,那么是当前对象 类选择器 $(".类名"); jQuery对象的集合,类名是在css中定义 并集选择器 $("selector1seletor2...全局选择器 $("*"); jQuery对象的集合,会选中所有 层次选择器(*) 后代选择器 $("selector1 selector2"); 选择selector1内部所有满足selector2的元素...注意:后代选择器中,两个选择器中间是有空格的,与并集选择器区别开。...选择满足选择器1元素后面的满足选择器2的元素 注意:只能选择相邻后面的一个 同辈元素选择器 $("选择器1~s选择器2"); 选择选择器1元素之后的同辈元素, 并且同辈元素满足选择器2的要求 注意:前面的同辈元素是不会被选择的

    1.5K10

    jQuery 选择器

    jQuery网页脚本语言核心之一 概述: 1. 选择器jQuery的基础 2. 对事件处理,遍历DOM和Ajax操作都依赖于选择器 3. 可简化代码 什么是jQuery选择器?...通过 过滤选择呢亲选择元素 (1) 基本过滤选择器 (2) 可见性过滤选择器 详解: 通过css选择器选取元素 jQuery支持大多数css选择器 最常用的有:基本选择器,层次选择器和属性选择器jQuery...补充:jQuery中还有交集选择器: 语法:$(AB) 一个元素,必须保证AB两个属性同时具备(与并集选择器正好相反) 2. 层次选择器 1. ...通过DOM之间的层次关系来获取元素 2. jQuery有四种常用的层次选择器: (1) 后代选择器 (2) 子选择器 (3) 相邻选择器 (4) 同辈选择器 ?...//带空格的jQuery选择器 var $t a= $(".test :hidden") ; //不带空格的jQuery选择器 var $t b= $ (".test:hidden") ; var len

    2.7K90

    Jquery选择器

    1、  基本选择器 选择器 描述 结果 示例 #id 根据id获取元素 单个 $(“#myid”)选取id的值为myid的元素 .class 根据class获取元素 集合 $(“.myclass”)选取...)获取所有标签元素 a,.myclass,#id等 获取对应标签元素 集合 $(“a,.myclass,#myid”)获取a、class的值为myclass以及id为myid的元素集合 2、  层次选择器...选择器 描述 结果 示例 $(“#myid  .sonid”) 选取id为myid里所有后代元素 集合 $(“#myid  .my”)这里是后代元素 $(“#myid >.sonid”) 选取id为myid...基本过滤 选择器 描述 结果 示例 :first 选取第一个元素 单个 $(“div:first”)选取div元素中第一个div :last 选取最后一个元素 单个 $(“div:last”)选取div...元素中最后一个div :not(selector) 去除所有给定选择器匹配的元素 集合 $(“input:not(.myclass)”)去掉class不是 myclass的input元素 :even

    2K60

    jQuery 选择器

    1 jQuery 选择器 原生 JS 获取元素方式很多,很杂,而且兼容性情况不一致,因此 jQuery 给我们做了封装,使获取元素统一标准。 1.1....基础选择器 $("选择器") // 里面选择器直接写 CSS 选择器即可,但是要加引号 ? 1.2. 层级选择器 层级选择器最常用的两个分别为:后代选择器和子代选择器。 ?...筛选选择器 筛选选择器,顾名思义就是在所有的选项中选择满足条件的进行筛选选择。常见如下 : ?..., "skyblue"); $("ol li:even").css("color", "pink"); }) 另: jQuery...1.4 知识铺垫 jQuery 设置样式 $('div').css('属性', '值') jQuery 里面的排他思想 // 想要多选一的效果,排他思想:当前元素设置样式,其余的兄弟元素清除样式

    1.8K20

    jQuery选择器总结

    先说选择器,要知道js里,也有,就是你给标签起了id,class名,在js里需要获取是一个意思。...在jq中很方便,不用写很长的xxx=document.getElementById(‘xxx’) 1.基本选择器 ? 2.层次选择器 ? 3.过滤选择器 ? 4.内容过滤器 ?...5.可见选择器 ? 6.属性选择器 ? 7.子元素选择器 ?...其中nth-child(xn+y)表示:从第y各元素起,选取每第x个元素 例3n+2表示从第二个子元素开始,选取每个第三个的元素 even:偶数 odd:奇数 8.表单元素过滤选择器 ?...表单中选择确切的某个属性的元素,不需要全部都写input 熟练使用选择器是熟练使用jq的前提 图片全部来自个人word文档中的截图,如有错误欢迎指出,互相学习。

    1.2K50

    jQuery层次选择器

    jQuery是一种流行的JavaScript库,用于简化HTML文档的操作和动态交互。在jQuery中,层次选择器是一种非常有用的选择器,可以根据元素之间的层次关系选择特定的元素。...在jQuery中,层次选择器使用空格来表示元素之间的层次关系。下面是一些常用的层次选择器:后代选择器(Descendant Selector)用于选择所有指定元素的后代元素。...子元素选择器(Child Selector)用于选择指定元素的直接子元素。...全部兄弟选择器(General Sibling Selector)用于选择指定元素后面的所有兄弟元素。...通过层次选择器,我们可以轻松地选取到HTML文档中特定层次关系的元素,从而方便地操作和修改这些元素。无论是处理DOM元素还是实现动态交互,jQuery的层次选择器都是非常有用的工具。

    44220

    jQuery基础--选择器

    选择器 2.1. 什么是jQuery选择器 jQuery选择器jQuery为我们提供的一组方法,让我们更加方便的获取到页面中的元素。注意:jQuery选择器返回的是jQuery对象。...jQuery选择器有很多,基本兼容了CSS1到CSS3所有的选择器,并且jQuery还添加了很多更加复杂的选择器。...【查看jQuery文档】 jQuery选择器虽然很多,但是选择器之间可以相互替代,就是说获取一个元素,你会有很多种方法获取到。所以我们平时真正能用到的只是少数的最常用的选择器。 2.2....基本选择器 名称 用法 描述 ID选择器 $(“#id”); 获取指定ID的元素 类选择器 $(“.class”); 获取同一类class的元素 标签选择器 $(“div”); 获取同一类标签的所有元素...筛选选择器(方法) 筛选选择器的功能与过滤选择器有点类似,但是用法不一样,筛选选择器主要是方法。

    85640

    jquery常用选择器

    然而在jQuery 中则完全不同,jQuery 提供了异常强大的选择器用来帮助我们获取页面上的对象, 并且将对象以jQuery 包装集的形式返回。...本文主要对常用的jQuery 选择器进行一个介绍及归类。 jQuery 选择器大体上可分为 4 类:基本选择器、层次选择器、过滤选择器、表单选择器。...其中过滤选择器可以分为:简单过滤选择器、内容过滤选择器、可见性过滤选择器、属性过滤选择器、子元素过滤选择器、表单对象属性过滤选择器。...label标签后面直接跟一个input标签的所有input标签元素 $("#prev ~ div") 同胞选择器选择器返回的为id为prev的标签元素的所有的属于同一个父元素的div标签...基本过滤选择器: $("tr:first") 选择所有tr元素的第一个 $("tr:last") 选择所有tr元素的最后一个 $("input

    66360
    领券