自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 jQuery选择器代码详解(八)——addCombinator函数

function addCombinator(matcher, combinator, base) 1、源码 function addCombinator(matcher, combinator, base) { var dir = combinator.dir, checkNonElements = base && dir === "parentNode", doneName =

2015-02-26 20:05:22 1390

原创 jQuery选择器代码详解(七)——elementMatcher函数

要读懂Sizzle的Compile执行过程,首先需要弄清楚涉及的各个子程序的功能和关键变量和作用,我将逐一对jQuery-1.10.2版本的Compile代码进行说明,望能给予大家帮助。 elementMatcher(matchers) 1、源码 function elementMatcher(matchers) { return matchers.length > 1 ? funct

2015-02-26 19:15:53 1314

原创 jQuery选择器代码详解(六)——Sizzle选择器匹配逻辑分析

近期看了一些网上关于Sizzle的分析文章,就匹配次序往往就说使用了从右到左的逆向匹配法,但是具体如何并没有详细介绍,或者就像我之前的几篇文章一样,就代码一行一行做详细介绍,但缺乏整体概念,这里就jQuery-1.10.2版本的Sizzle的匹配逻辑(预编译结果)做一整体说明,这里就不谈过多的细节了。 Sizzle的匹配过程采用的是以从右到左的逆向匹配法为基础的改进版本,因为HTML的搜索毕竟和

2015-02-25 11:16:15 1400 1

原创 JavaScript如何创建dictionary对象

对于JavaScript来说,其自身的Array对象仅仅是个数组,无法提供通过关键字来获取保存的数据,jQuery源码中提供了一种非常好的方式来解决这个问题,先看一下源码: function createCache() { var keys = []; function cache(key, value) { // Use (key + " ") to avoid collision

2015-02-16 22:27:30 1214

原创 jQuery选择器代码详解(五)——实例说明tokenize的解析过程

原创文章,转载请写明出处,多谢! 以下分析基于jQuery-1.10.2.js版本。 下面将以$("div:not(.class:contain('span')):eq(3)")为例,说明tokenize和preFilter各段代码是如何协调完成解析的。若想了解tokenize方法和preFilter类的每行代码的详细解释,请参看如下两篇文章: jQuery选择器代码详解(三)——token

2015-02-14 00:04:49 1657

原创 jQuery选择器代码详解(四)——Expr.preFilter

原创文章,转载请注明出处,多谢! Expr.preFilter是tokenize方法中对ATTR、CHILD、PSEUDO三种选择器进行预处理的方法。具体如下: Expr.preFilter : { "ATTR" : function(match) { /* * 完成如下任务: * 1、属性名称解码 * 2、属性值解码 * 3、若判断符为~=,则在属性值两边加

2015-02-13 19:58:02 1735

原创 jQuery选择器代码详解(三)——tokenize方法

原创文章,转载请注明出处,多谢! /* * @param selector 待解析的选择器字符串 * @param parseOnly 为true时,说明本次调用是匹配子选择器 * 举个例子:若初始选择器为"div:not(.class:not(:eq(4))):eq(3)" * 代码首先匹配出TAG选择器div, * 之后匹配出的pseudo选择器字符串是

2015-02-12 21:02:01 1877 1

原创 jQuery选择器代码详解(二)——select方法

select方法是Sizzle选择器包的核心方法之一,其主要完成下列任务: 1、调用tokenize方法完成对选择器的解析 2、对于没有初始集合(即seed没有赋值)且是单一块选择器(即选择器字符串中没有逗号), 完成下列事项: 1) 对于首选择器是ID类型且context是document的,则直接获取对象替代传入的context对象 2) 若选择器是单一选择器,且是id、class、tag类型的,则直接获取并返回匹配的DOM元素 3) 获取最后一个id、class、ta

2015-02-12 14:55:39 1833 1

原创 jQuery选择器代码详解(一)——Sizzle方法

对jQuery的Sizzle各方法做了深入分析后,将结果分享给大家。我将采用连载的方式,对Sizzle使用的一些方法详细解释一下,每篇文章介绍一个方法。 若需要转载,请写明出处,多谢。 /* * @param selector 选择器字符串 * @param context 执行匹配的最初的上下文(即DOM元素)。若context没有赋值,则取document。 * @param res

2015-02-12 11:24:00 2543

原创 详解jQuery选择器正则表达式

1、空白 whitespace = "[\\x20\\t\\r\\n\\f]", 在字符串中,斜杠是用于转义的,若想输出斜杠,必须采用双斜杠来表示。上述字符串若直接用正则表达式对象来表示,如下: whitespace = /[\x20\t\r\n\f]/, 之所以将五种字符定义为空白,出此CSS3标准,其原话:Only the characters "space" (U+002

2015-02-02 18:26:45 6637

原创 Windows绘图系列一:获取对象设备描述表

Windows中负责图形输出的是Graphics Device Interface(图形设备接口),或者称为GDI。当Windows程序在显示屏、打印机或者其他输出设备上画图时,它并不是将像素直接输出到设备上,而是将图形绘制到一个称为设备描述表(DC)的逻辑意义上的“显示平面”上去。在Windows中,为了使不同的的程序的输出限制在自己的窗口中,提出了设备描述表(DC)。

2015-02-02 15:29:41 370

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除