关于jquery 1.3 选择器引擎(Sizzle selector engine)

红色带括号文字部分乃我自己加的说明

 

关于jQuery的新选择器引擎–Sizzle下面地址有介绍了,这里不多说了

原文:http://roln.cn/archives/252

 

下面看一下例子和结构图。转自(原文更详细): http://blog.allansong.com/?p=6

 

从jQuery 1.3.2的源码来看, sizzle的代码行差不多刚好1K, 从1429到2427。
以一个很简单的multiple selector为例:

<html>

<head>

<script src=”link_to_jquery.js”></script>

<script language=”javascript”>

$(function(){

        $(”div,span,p.myClass”) . css(”border”, “3px solid red”);

});

</script>

</head>

<body>        

        <div>div</div>

        <p class=”myClass”>p class=”myClass”</p>

        <p class=”notMyClass”>p class=”notMyClass”</p>

        <span>span</span>

</body>

</html>

 

从$(“div, span, p.myClass”)开始深入jQuery sizzle, 一步一步来看sizzle是怎么工作的?


(此图虽然流程很明白,但是我看功力尚浅,看代码的时候可真费劲阿,到现在还没完全都弄熟。)

 


关于sizzle的源码分析,可以看这个文章:

http://lwp8407120426.blog.163.com/blog/static/464280752009145364974/

关于jQuery Sizzle选择器跟普通选择器的区别

转自(有删节,原文内容更详细且有评论):http://www.cssrain.cn/article.asp?id=1315

举个一个选择器来说: $("div  p");

每个更换选择器之前,查找步骤如下:
1,先查找页面上所有的div 。
2,循环所有的div,查找每个div下的p 。
3,合并结果 。


采用Sizzle选择器之后,查找步骤如下:
1,先查找页面上所有的p 。
2,循环所有的p,查找每个p的父元素,
   1)如果不是div,遍历上一层。
   2)如果已经是顶层,排除此p。
   3)如果是div,则保存此p元素。

(上面说的两种思路需要思考借鉴,包括在其他地方。大家也可看看原文的评论。)
DCM07-诊断服务EcuReset ($11 )的配置和实现 文章目录1 诊断服务EcuReset ($11 )1.1 概述1.2 诊断模式声明组1.3 代码实现1.4 配置参数 传送门 ==>> AutoSAR实战系列300讲「糖果Autosar」总目录 1 诊断服务EcuReset ($11 ) 1.1 概述 该服务实现了 ECU 内的复位功能,协议的具体理论讲解请参考「FlashBootloader03【电控单元复位服务($11)】」。在接收到UDS 服务 0x11 的请求时,DCM 模块应触发 ModeDeclarationGroupPrototy 阅读详情

相关推荐

硬件开发流程

研发流程在一个有一定规模的企业中起到了非常重要的作用,也是一个产品或者项目成功量产出货依赖的平台体系,作为工程师如果想要走的更远,就必须了解流程体系,了解如何对产品的开发质量进行更好的管控。...

weixin_44126796的博客 8379

jQuery源码分析之Sizzle--css选择器引擎

null

大橙子的专栏 879

【MATLAB强化学习工具箱】学习笔记--在Simulink环境中训练智能体Create Simulink Environment and Train Agent

Simulink中便于搭建各类动力学与控制模型,通过将原有的控制器替换为AI控制器,可以方便使用已有模型,提供增量效果。 本节的重点是如何引入Simulink模型作为env,其他的内容在之前的文章中已有说明。 以水箱模型watertank为例,如下图所示: 采用PI控制器,控制效果如下所示: 将此PI控制器替换为神经网络控制器后,系统架构如下图所示: 具体替换策略如下所示: (1)删去PID控制器; (2)增加RL Agent模块; (3)观测器模块: 观测向量为:,其中...

bear_miao的博客 1万+

jQuery代码分析之二Selector Engine

jQuery代码分析之二 Selector Engine Sizzle 本文的代码分析基于jQuery 1.7 Sizzle(selector,context,results,seed) 返回值:与selector匹配的元素集 selector:CSS selector context:应用CSS selector的HTML元素上下文,默认值为document。比如我们有如下的HTML结

sandstom_1985的专栏 1222

使用openMVS对样例数据进行重建

openMVS根据github上的步骤进行编译。注意,如果没有GPU,用不了CUDA的话,那么需要在openMVS目录下找到CmakeLists.txt文件,把CUDA设置为OFF: SET(OpenMVS_USE_CUDA OFF CACHE BOOL "Enable CUDA library") 可执行的文件生成在openMVS_build/bin/里面,在openMVS_build文件夹下打开终端,按照顺序执行如下命令即可逐步重建。其中,-w 设置的是数据的总路径,-i 后接输入的文件名,-o

YuhsiHu的博客 2887

IgH EtherCAT 从入门到精通:第 30 章 实战:高可用 EtherCAT 系统设计

摘要:构建高可用EtherCAT系统的关键技术 本章详细介绍了工业级EtherCAT系统的高可用性设计方法,主要包括: 冗余链路架构:采用双网卡环形拓扑设计,主备网卡同时工作,通过IgH Master的冗余配置实现线缆故障自动切换。 状态监控机制:提供专用API实时监控主备链路状态,包括从站响应数、链路状态和冗余激活标志,形成完整的故障判断矩阵。 自动恢复功能:系统内置FSM架构支持热插拔自动检测和重配置,从站断线/重连时可自动完成状态恢复,同时允许应用层实施安全措施。 这些技术共同构成了生产环境下Ethe

从事嵌入式linux android驱动开发,拥有全栈能力 243

sizzle

看看我之前写的笔记还是有所收获的,在jquery这一课中提到了一个Sizzle运行机制。那么什么是sizzle那?   官方解释是:sizzle是一个纯粹的javascript css选择器引擎,可以轻松的插入主机库。    sizzle选择符的实现:在jQuery的基础教程中有这样的描述,在把选择符表达式传递给$()函数的时候,jquery的sizzle引擎会解析这个表达式,并确定如何收集该表达...

可了不得 7242

Android11.0(R) MTK 平台开机logo动态替换(by logo.bin方式)

实现的效果 客户提供一张格式为 bmp 的开机logo,在 linux 环境下执行制作 logo.bin 脚本文件, apk 拷贝 logo.bin 文件替换系统原有的bin,然后重启 logo 自动更新。 原理分析 MTK 平台的充电图片和开机logo都是打包到 logo.bin 中的 对应的资源路径在源码 vendor\mediatek\proprietary\bootable\bootloader\lk\dev\logo 系统一般预制了很多分辨率文件夹,实际通过 BOOT_LOGO 来确定打包那一个

cczhengv 4585

jQuery部分源码注释——Sizzle(后续更新)

var Sizzle = /*! * Sizzle CSS Selector Engine v2.3.4 * https://sizzlejs.com/ * * Copyright JS Foundation and other contributors * Released under the MIT license * https://js.foundation/ * * Da...

qq_44899259的博客 1115

基于Matlab的深度学习OFDM系统信号检测

在接收端,我们首先去除循环前缀,然后对接收到的信号进行FFT变换和QAM解调。在通信系统中,正交频分复用(Orthogonal Frequency Division Multiplexing,OFDM)是一种常用的调制技术,它可以将高速数据流分成若干个低速子载波进行传输,提高了信道利用率和抗干扰性能。接下来,我们使用训练好的神经网络对QAM调制后的数据进行检测,得到估计的FFT变换结果。深度学习方法可以通过大量的训练数据来学习信号的特征,并具有一定的适应能力,在某些情况下可能能够获得更好的检测性能。

2301_79325657的博客 296

游戏大厂技术护城河:你以为他们靠“美术和买量”,其实背后全是硬家伙

先把效果堆满到快上线了才发现低端机跑不动然后疯狂砍特效、降分辨率,画面崩、口碑崩机型分档(低/中/高)每帧预算(CPU/GPU 各多少 ms)每种资源预算(贴图、网格、粒子数量)性能自动回归(每天跑性能测试,发现波动立刻报警)大白话:小厂像装修到入住前才发现电路不够,临时拉线;大厂从设计图开始就算承重、算电路、算水压。玩家会不会来?活动会不会爆?版本会不会翻车?外挂会不会泛滥?竞品会不会抄?流量不确定 → 可扩容架构版本不确定 → 灰度与回滚。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 104

春秋云境:CVE-2022-32991

Web Based Quiz System SQL注入漏洞:CVE-2022-32991

一只爱吃橙子的羊 1270

【TC3xx芯片】TC3xx芯片STM介绍

TC3xx芯片STM介绍

qq_36056498的博客 2280

jQuery选择器引擎和Sizzle介绍

首先介绍一下什么是Sizzle: Sizzle是一个纯javascript CSS选择器引擎。jquery1.3开始使用sizzle,Sizzle一反传统采取了相反的Right To Left的查询匹配方式,效率提高.Sizzle是jQuery作者John Resig新写的DOM选择器引擎,速度号称业界第一.Sizzle完全独立于jQuery,若不想用jQuery,你可只用Sizzle实现,压缩...

923723914 133

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Sizzle:JavaScript CSS选择器引擎的深度解析

Sizzle是一个纯JavaScript实现的CSS选择器引擎,最初作为jQuery的核心组件开发,旨在解决早期浏览器对CSS选择器支持不一致的问题。本文深度解析了Sizzle的历史背景、核心架构设计、CSS3选择器支持特性以及性能优化与浏览器兼容性策略。文章详细介绍了Sizzle的模块化架构,包括词法分析器、编译器、选择器执行引擎等核心组件,以及其如何通过缓存机制、原生方法优先策略和浏览器特性检...

gitblog_00840的博客 736

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

第二章 jQuery技术解密 (六)

2.4 解析 jQuery 选择器引擎 Sizzle jQuery 从 1.3 版本开始,使用了新的选择器引擎 Sizzle(官方网址 http://sizzlejs.com) 。Sizzle 是 jQuery 作者 John Resig 开发的 DOM 选择器引擎 (Dom Selector Engine),速度号称业界第一。而且它有一个重要的特点就是 Sizzle 是完全独立于 jQuery

爱谁谁的专栏 2078

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

jQuery技术解密六

2.4 解析 jQuery 选择器引擎 SizzlejQuery 从 1.3 版本开始,使用了新的选择器引擎 Sizzle(官方网址 http://sizzlejs.com) 。Sizzle 是 jQuery 作者 John Resig 开发的 DOM 选择器引擎 (Dom Selector Engine),速度号称业界第一。而且它有一个重要的特点就是 Sizzle 是完全独立于 jQuery 的,

wis2007的专栏 819

第十二课:Sizzle引擎详解

这篇博客难度太大,跟前端开发其实没什么关系,如果你想成为大牛,那就去了解下吧。如果你还不想,那可以忽略,毕竟面试官也不会问到这里来,因为他也不太懂。呵呵。 Sizzle引擎是jQuery的选择器,它大部分操作都是从右到左进行选择,特殊选择符会从左到右。用户输入$("div"),$("div p.class"),$("div [attr=val] :checked")等各种复杂的选择符,它都能选择...

weixin_33834679的博客 81

jQuery :技术解密(六)

2.4 解析 jQuery 选择器引擎 Sizzle jQuery 从 1.3 版本开始,使用了新的选择器引擎 Sizzle(官方网址 http://sizzlejs.com) 。Sizzle 是 jQuery 作者 John Resig 开发的 DOM 选择器引擎 (Dom Selector Engine),速度号称业界第一。而且它有一个重要的特点就是 Sizzle 是完全独立于 jQue

熊诗言的博客 384

剖析jQuery源码

@description analyzing jquery.1.3.1.js @author yanquan.xu(Henry) @date 2013/5/11 19:19 @place campus 由于深爱着javascript语言,而对于业界的框架的层出不穷,我依然选择了jquery。并非因为其它框架不好,而是 自然而然的选择和机缘的认识,所以一直用到现在,之后也会说它的不好。

xuyanquan的专栏 589

jQuery设计哲学:前端库与框架的本质分野

jQuery并非过时的代码库,而是一套历经真实业务锤炼的DOM操作契约体系。它以选择器引擎、统一接口和链式调用为核心,解决了浏览器碎片化时代的兼容性、API不一致与开发效率问题。其‘最小惊讶原则’和‘优雅降级’思想深刻影响了现代框架的API设计逻辑,如Vue的v-model语义一致性、React的Hook命名直觉性。在遗留系统维护、轻量级工具开发及跨框架集成场景中,jQuery仍提供零耦合、低侵入、高可控的工程价值。理解jQuery,本质是理解命令式编程心智与浏览器运行时确定性的平衡艺术。

as2886089的博客 403

jQuery 1.12.4

jQuery 1.12.4

qq_56715703的博客 1565

初探 jQuery 的 Sizzle 选择器

这是一篇关于介绍jQuery Sizzle选择器的文章,由我和obility共同完成。在文中,我们试图用自己的语言配以适量的代码向读者展现出Sizzle在处理选择符时的流程原理,以及末了以少许文字给你展示出如何借用Sizzle之手实现自定义选择器(也许更标准的叫法叫做过滤符)和它与YUI 选择器的大致比较。 前序 jQuery相比1.2的版本,在内部代码的构造上已经出现...

weixin_34205076的博客 330

Sizzle引擎研究

原文地址:http://foio.github.io/sizzle-research/ 什么是sizzle?下面时官方的一段解释。 A pure-javascript CSS selector engine × Standalone(no dependencies) × Competitive performance × Only 4kB with gzipped × Easy t

杨春建的博客 1339

jQuery源码分析 Sizzle选择器

jQuery版本 version = "1.11.1"前言          Sizzle是jQuery里面的选择器引擎,在jQuery版本1.11.1中。Sizzle 这部分可以看做jQuery中相对独立的一部分,大概有2000多行的代码。Sizzle选择器非常注重效率,优先使用浏览器自带的选择器进行选择比如:getElementById 、getElementsByTagName、getEle...

cc_fys的博客 823

理解jQuery选择器与Sizzle

什么是jQuery选择器? jQuery选择器通俗来讲就是一个获取html元素的工具。比如,$("p") 选取 <p> 元素,$("p")是jQuery的选择器的写法,这么写就可以获取(选取)html里的<p>元素。 jQuery选择器包括元素选择器、属性选择器、CSS选择器。

ouyida3的专栏 1545
上一篇: 养成使用jQuery Sizzle选择器的良好习惯
下一篇: ps文字特效处理
xiaoxinphp
博客等级 码龄18年 1粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值