2016年11月2日——jQuery源码学习笔记

1、jQuery()函数,即$()。有四种不同的调用方式。

(1)传递CSS选择器(字符串)给$()方法,返回当前文档中匹配该选择器的元素集。可选第二个参数,一个元素或jQuery对象,定义元素查询的起始点,称为上下文(context),这时返回的是该特定元素或元素集的子元素中匹配选择器的部分。

(2)传递一个Element、Document或Window对象给$()方法,$()将它们封装为jQuery对象并返回,这样就可以使用jQuery方法来操作这些元素而不用使用原生DOM方法

(3)传递HTML文本字符串给$()方法,这个字符串必须至少包含一个带有尖角括号的HTML标签,jQuery会根据传入的文本创建好HTML元素并封装为jQuery对象返回,然后用jQuery方法来将元素插入想要的地方。

$()接受可选的第二参数,可以传递Document对象来指定与所创建元素相关联的文档;也可以是object对象,这些属性将设置到所创建的对象上。

(4)传入一个函数给$()方法,当文档加载完毕且DOM可操作时,传入的函数将被调用。即onload()函数的jQuery版本,老式完整写法$(document).ready(f)

传给jQuery()的函数在被调用时,this指向document对象。可以释放全局的$(),在内部延续使用。

2、jQuery类库还使用jQuery()函数作为其命名空间,在下面定义了不少工具函数和属性。

jQuery.noConflict()函数还原$()为初始值。

3、jQuery.extend()

接受对象作为参数。将第二个及其以后参数对象的属性复制到第一个参数对象中,如果同名的属性在第一个参数对象中存在,则会覆盖它。该函数忽略任何值为undefined或null的属性。

4、jQuery.contains()

接受两个文档元素作为参数。如果第一个元素包含第二个元素,则返回true,否则返回false

5、jQuery.trim()

和ES5中给字符串添加的trim()方法类似。它接受字符串作为唯一参数,返回的字符串开头和结尾处的空白字符都已移除。

时间: 2024-08-07 12:55:26

2016年11月2日——jQuery源码学习笔记的相关文章

菜鸟的jQuery源码学习笔记(二)

jQuery对象是使用构造函数和原型模式相结合的方式创建的.现在来看看jQuery的原型对象jQuery.prototype: 1 jQuery.fn = jQuery.prototype = { 2 //成员变量和方法 3 } 这里给原型对象起了一个别名叫做jQuery.fn.要注意的是这个jQuery.fn可不是jQuery对象的属性,而是jQuery构造方法本身的属性,它是不会传给它所创建的对象的.如果你在控制台敲$().fn的话输出的结果会是undefined.接下来看看原型对象里面有些

jQuery源码学习笔记:总体架构

1.1.自调用匿名函数: (function( window, undefined ) { // jquery code })(window); 这是一个自调用匿名函数,第一个括号内是一个匿名函数,第二个括号立即执行,传参是window. 1.为什么有自调用匿名函数? 通过定义匿名函数,创建了一个"私有"空间,jQuery必须保证创建的变量不能和导入它的程序发生冲突. 2.为什么传入window? 传入window使得window由全局变量变成局部变量,jQuery访问window时,

jQuery源码学习笔记:构造jQuery对象

3.1源码结构: (function( window, undefined ) { var jQuery = (function() { // 构建jQuery对象 var jQuery = function( selector, context ) { return new jQuery.fn.init( selector, context, rootjQuery ); } // jQuery对象原型 jQuery.fn = jQuery.prototype = { constructor:

jQuery源码学习笔记:扩展工具函数

// 扩展工具函数 jQuery.extend({ // http://www.w3school.com.cn/jquery/core_noconflict.asp // 释放$的 jQuery 控制权 // 许多 JavaScript 库使用 $ 作为函数或变量名,jQuery 也一样. // 在 jQuery 中,$ 仅仅是 jQuery 的别名,因此即使不使用 $ 也能保证所有功能性. // 假如我们需要使用 jQuery 之外的另一 JavaScript 库,我们可以通过调用 $.noC

jQuery源码学习笔记五 六 七 八 转

jQuery源码学习笔记五 六 七 八 转 Js代码   <p>在正式深入jQuery的核心功能选择器之前,还有一些方法,基本都是数组方法,用于遴选更具体的需求,如获得某个元素的所有祖选元素啦,等等.接着是其缓存机制data.</p> <pre class="brush:javascript;gutter:false;toolbar:false"> //@author  司徒正美|なさみ|cheng http://www.cnblogs.com/ru

jQuery源码学习笔记(1)

在慕课网上学习jQuery源码,做一些笔记小研究. 第1章 节点遍历 第2章 文档处理 第3章 元素操作 第4章 样式操作 第5章 事件体系 第6章 数据交互 第7章 动画引擎 首先瞅瞅目录,大概可以了解一下这个是怎么讲的QAQ. 今天学习的是节点遍历. 遍历的对象主要是:1 祖先 2 同胞兄弟 3 后代 4 过滤 我们先看祖先. .parent()方法允许我们能够在DOM树中搜索到这些元素的父级元素,从有序的向上匹配元素,并根据匹配的元素创建一个新的 jQuery 对象. .parents()

jquery源码学习笔记(一)jQuery的无new构建

本人是一名.net程序员..... 你一个.net coder 看什么jQuery 源码啊? 原因吗,很简单.技多不压身吗(麻蛋,前端工作好高...羡慕). 我一直都很喜欢JavaScript,废话不多说了,直接切入正题. 最近看了好几篇jQuery 源码的文章,对于jQuery的无new构建  很是不解. 查了很多资料,总算是搞明白了. jQuery的无new构建 jQuery框架的核心就是从HTML文档中匹配元素并对其执行操作. 回想一下使用 jQuery 的时候,实例化一个 jQuery

菜鸟的jQuery源码学习笔记(三)

1 each: function(callback, args) { 2 return jQuery.each(this, callback, args); 3 }, each:这个调用了jQuery.each方法,来遍历当前集合.我们先来看看jQuery.each方法: //args是一个数组 each: function(obj, callback, args) { var value, i = 0, length = obj.length, isArray = isArraylike(ob

struts2练习时犯的错误(2016年11月4日)

1.Tomcat启动时报错 严重: 文档无效: 找不到语法. at (null:3:8) org.xml.sax.SAXParseException; systemId: file:/F:/Program%20Files%20(x86)/Tomcat%206.0/webapps/struts2_11_4/WEB-INF/classes/struts.xml; lineNumber: 3; columnNumber: 8; 文档无效: 找不到语法. 错误原因:struts.xml中忘记写<!DOC