Sizzle 官方API翻译
Sizzle源码解析[原创内容,欢迎转载,如有错误,概不负责~~]
Sizzle官方文档上说,Sizzle Api由三个部分构成。
- Public API - 用户使用
- Extension API - 用于修改定制选择器引擎
- Internal API - 引擎内部使用
下面分别列举一下各部份的API
- Public API
Sizzle(String selector[, DOMNode context[, Array results]])
- 查找elements的主函数,如果浏览器支持
querySelectorAll
的话,就会调用该函数。
- 返回值(Array) - 选择器找到的所有的元素
- 参数说明:
- selector - 一个 css 选择器
- context - 一个元素、文档或文档碎片作为上下文,用来查找元素。
- results - 一个Array对象或者类Array对象。用于添加Sizzle选择的结果。这里定义了Jquery中“array-like object”:
- 有一个正数的
length
属性。 - 有一个
push
方法。
- 有一个正数的
- 查找elements的主函数,如果浏览器支持
Sizzle.matchesSelector(DOMElement element, String selector)
- 如果指定的element,能通过selector找到,则返回true,否则返回false。如果浏览器支持原生的
Elements.matchesSelector
,
就使用原生的。
- 返回值(Boolean)
- 参数说明:
- element - 需要测试的element
- selector - 一个css选择器
- 如果指定的element,能通过selector找到,则返回true,否则返回false。如果浏览器支持原生的
Sizzle.matches(String selector, Array<DOMElement> elements)
- 从指定的结果集中筛选出与selector匹配的结果并返回。
- 返回值(Array)
- 参数说明:
- selector - css selector
- elements - DOMElement数组
- Extension API
Sizzle.selectors.match.NAME = RegExp
This contains the regular expressions used to parse a selector into different parts,
to be used for finding and filtering. The name of each of the regular expressions
should correspond to the names specified in theSizzle.selectors.find
andSizzle.selectors.filter
objects.该属性包含的正规表达式用于将一个selector解析成不同的部份,用于查找和过滤。每一个正则表达式的名字
都应对于Sizzle.selectors.find
和Sizzle.selectors.filter
对象中指定的名称。Finding
如果要新增一个find函数:
- 正则表达式必须添加到
match
对象上。 - 必须定义一个
find
函数 "|" + NAME
必须附加到Sizzle.selectors.order
- 正则表达式必须添加到
Sizzle.selectors.find.NAME = function(match, context, isXML) {}
A method for finding some elements on a page.
The specified function will be called no more than once per selector.该方法用于在一个page上查找一些elements.单个selector调用指定的函数的次数不会超过一次。
参数说明:match
是一个查找指定的selector返回的结果集context
是一个DOMElement或DOMDocument,指定将要进行选择的上下文isXML
是一个Boolean值。表明函数当前操作的是否是一个XML文档Filtering
定义一个新的过滤表达式:
- 正则表达式必须添加到
match
对象上 - 过滤函数必须添加到
filter
对象上 可以选择在
preFilter
对象上定义一个函数
Extension API 先翻译到这里。我自己都云里雾里不知道这些做什么用。看了源码之后回头再看这些。
Internal API
功能性的操作应该通过访问
Public
和Extension
API.Internal API
只是给内部调用。
已经暴露给edge cases[边缘案例]
(http://en.wikipedia.org/wiki/Edge_case)Sizzle.selectors.cacheLength
Sizzle内部用于缓存编译过的selector函数和token对象。长度默认50,可以设置为任意正整数。
Sizzle.compile(selector)
该方法用于解析selector函数,并缓存下来,用于后面调用。返回一个函数。
转载于:https://www.cnblogs.com/CoinXu/p/4568477.html
Sizzle 官方API翻译相关推荐
- 通过 .gitlab-ci.yml配置任务-官方配置文件翻译
Gitlab CI yaml官方配置文件翻译 通过 .gitlab-ci.yml配置任务 [TOC] 来源:https://github.com/Fennay/git... 此文档用于描述.gitla ...
- Android官方文章翻译之管理设备苏醒状态(Managing Device Awake State)(二)
这是Managing Device Awake State的下半篇,上半篇请看:Android官方文章翻译之管理设备苏醒状态(Managing Device Awake State)(一) 在了解接下 ...
- JointJS官方API的个人整理
由于JointJs官方API是英文,所以学习过程中对此进行部分(没有完全)汉化整理,以及一些个人理解. 锚点anchor 链接锚是一个链接想要到达的点(这意味着连接端点最终未必就落在上面)作为它的端点 ...
- 【天池基础知识】直方图,Q~Q图、KDE分布图+对应的官方API文档
目的 直方图和Q-Q图的目的:是为了看看数据是不是符合正态分布或者是不是对角线分布,这样对数据的采取的时候会更加有效一些(比如那些不太行的数据,偏离太多的数据我们删除,那些分布太高的可以用对数进行降低 ...
- Dapper官方教程翻译8:Dapper方法之QueryMultiple(转)
Dapper官方教程翻译8:Dapper方法之QueryMultiple 2019年02月28日 10:42:22 Day_and_Night_2017 阅读数:120 QueryMultiple方法 ...
- python运行界面英文翻译_python使用百度api翻译中英文
python使用百度api翻译中英文 写程序取变量名的时候,常常需要翻译单词,或者将中文翻译成英语.有道词典,必应词典都很好,可是...命令行习惯了还是觉得用在cmd里面调出程序使用起来也许会更爽.于 ...
- QQ 一键加群、扫二维码加群 - 腾讯官方API文档接入
QQ 一键加群.扫二维码加群 - 腾讯官方API文档接入 QQ一键加群功能,腾讯API生成链接和二维码等等 获取地址:腾讯官方API文档接口 使用方法:引入对应的链接即可 这里有生成图片.二维码的功效 ...
- 微信公众号官方API开发之配置服务器
最近进行微信官方API开发,需要知道用户的openid,以及需要扫码传参数,需要进行服务器配置. 1.服务器配置 微信公众号要开通开发者模式,然后在最左下角 开发->基本配置->服务器配置 ...
- ExtJS各个版本官方API文档
ExtJS各个版本官方API文档 官方API地址:https://docs.sencha.com/extjs/6.7.0/index.html 版本切换方式: 官方文档为纯英文文档,需要中文版的朋友可 ...
最新文章
- js中的apply()、call() 和 bind()
- ROS kinect:OpenNI读取深度图像与彩色图像
- centos上那装qq2012
- repadmin查看域控之间的复制状态
- Vue.js 概述与 MVVM 模式
- 微机个人笔记-存储单元编址
- 联想e431笔记本更改硬盘模式bios设置的详细教程
- 立即修复!微软史上最严重漏洞之一 Netlogon 细节被公开,三秒接管企业网络
- spring实现mqtt服务端_SpringBoot--实战开发--MQTT消息推送(六十)
- 计算机网络技术论文致谢,路由器论文致谢
- 自己动手编译nodemcu固件(ESP8266)
- 小甲鱼C语言1-22讲笔记(指针和数组)
- 管家婆显示服务器端没有软件狗,管家婆找不到加密狗怎么办.doc
- word里双横线怎么打_在word中怎么画直线、双直线、虚线
- [常用类]Instant类的使用
- 20220119思维导图
- Mac Apache php 配置域名
- 各种快递查询--Api接口
- 深度学习平台——Paddle核心框架介绍
- 13_Pinia组件库