[/align][align=center]
/*
* jQuery1.4.1 代码分析 isw2 zhoux
*/
//jQuery 核心函数
(function( window, undefined ) {
var jQuery = function( selector, context ) {// jQuery 的构造方法(初始化过程调用4次)
return new jQuery.fn.init( selector, context );// 调用init 方法
};
jQuery.fn = jQuery.prototype = {// 这里声明jQuery.fn 是jQuery.prototype 的简写
init: function( selector, context ) {
if ( !selector ) {// jQuery(),$():返回空jQuery 对象
return this;
}
if ( selector.nodeType ) {// jQuery(elements),$(elements):调用将DOM元素转化为jQuery对象。
this.context = this[0] = selector;
this.length = 1;
return this;
}
if ( typeof selector === "string" ) {// 这里注意==(等于,比较时会转型)和===(完全等于,比较时不会转型)的区别
match = quickExpr.exec( selector );//匹配/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/, match[1]即<[\w\W]+>) 为HTML 字符串
if ( match && (match[1] || !context) ) {
if ( match[1] ) {//如果是HTML
doc = (context ? context.ownerDocument || context : document);
ret = rsingleTag.exec( selector );//匹配/^<(\w+)\s*\/?>(?:<\/\1>)?$/
if ( ret ) {
if ( jQuery.isPlainObject( context ) ) {//jQuery(html, props):创建由 jQuery 对象包装的 DOM 元素。同时设置属性、事件等。
selector = [ document.createElement( ret[1] ) ];//使用document创建元素
jQuery.fn.attr.call( selector, context, true );//设置元素属性(props)
} else {
selector = [ doc.createElement( ret[1] ) ];//使用指定context创建元素
}
} else {//?
ret = buildFragment( [ match[1] ], [ doc ] );
selector = (ret.cacheable ? ret.fragment.cloneNode(true) : ret.fragment).childNodes;
}
}else{//#id
elem = document.getElementById( match[2] );//根据id 查找元素
if ( elem ) {
if ( elem.id !== match[2] ) {//如果element id 和查询不一致
return rootjQuery.find( selector );//rootjQuery = jQuery(document),这里相当于$(document).find(selector)
}
//包含当前元素
this.length = 1;
this[0] = elem;
}
this.context = document;
this.selector = selector;
return this;
}
} else if ( !context && /^\w+$/.test( selector ) ) {//根据tagName 查找
this.selector = selector;
this.context = document;
selector = document.getElementsByTagName( selector );
} else if ( !context || context.jquery ) {//用于$(expr, $(...)),即context 为jQuery对象
return (context || rootjQuery).find( selector );
} else {//jQuery(expression, [context]):这个函数接收一个包含 CSS 选择器的字符串,然后用这个字符串去匹配一组元素。
return jQuery( context ).find( selector );
}
} else if ( jQuery.isFunction( selector ) ) {
return rootjQuery.ready( selector );// jQuery(callback),$(callback):$(document).ready()的简写
}
if (selector.selector !== undefined) {// ?
this.selector = selector.selector;
this.context = selector.context;
}
return jQuery.isArray( selector ) ?// ?
this.setArray( selector ) :
jQuery.makeArray( selector, this );
}
}
window.jQuery = window.$ = jQuery;// 这里声明window.jQuery ,window.$为jQuery的简写
})(window);// 这里类似于一个初始化方法的声明,页面加载后执行
分享到:
相关推荐
**jQuery 1.4.1 知识点详解** jQuery 是一个广泛使用的JavaScript库,它极大地简化了HTML文档遍历、事件处理、动画制作和Ajax交互。jQuery 1.4.1 版本是该库的一个重要里程碑,发布于2010年,它在前一版本的基础上...
jquery 1.4.1jquery 1.4.1jquery 1.4.1jquery 1.4.1jquery 1.4.1
《jQuery 1.4.1 中文版参考》是一本专为开发者提供的关于jQuery库的详细参考资料,旨在帮助用户深入理解和高效使用这个流行的JavaScript库。jQuery是JavaScript的一个强大的框架,它简化了DOM操作、事件处理、动画...
《jQuery 1.4.1 使用手册》是前端开发者的重要参考资料,主要涵盖了jQuery库的各个方面,包括选择器、DOM操作、事件处理、效果动画、AJAX以及插件开发等内容。jQuery是一个广泛使用的JavaScript库,它简化了HTML文档...
jquery 开发中文文档,供开发人员使用。。
**jQuery 1.4.1** 是一个历史悠久的JavaScript库,它极大地简化了网页的DOM操作,事件处理,动画效果以及Ajax交互。该版本发布于2010年,是jQuery系列的一个重要里程碑,提供了许多增强性能和新功能的改进。 在...
**jQuery 1.4.1 知识点详解** jQuery 是一个高效、简洁且功能丰富的JavaScript库,它极大地简化了JavaScript编程,特别是处理DOM操作、事件处理和Ajax交互。jQuery 1.4.1是该库的一个早期版本,尽管如此,它依然...
《jQuery1.4.1 API 中文参考手册》是一份为开发者提供的详尽指南,它涵盖了jQuery库在1.4.1版本中的各种函数、方法和事件,是快速理解和使用jQuery的强大工具。这份手册通常以CHM(Compiled Help Manual)格式提供,...
jQuery 1.4.1 API 中文参考手册.chm
最新版的jquery1.4.1中文帮助。
《jQuery 1.4.1 中文开发手册》是一份详尽的指南,旨在帮助开发者高效地利用jQuery这个JavaScript库进行网页动态效果的创建和Ajax交互。jQuery自诞生以来,因其简洁的语法和强大的功能,成为了JavaScript开发者的...
在jQuery 1.4.1版本中,这个库提供了丰富的API,使得开发者能够更高效地编写JavaScript代码。 **核心功能** jQuery的核心在于选择、操作DOM元素以及处理事件。以下是一些关键的核心函数: - `jQuery(expression, ...
**jQuery 1.4.1 速查表与jQuery API** jQuery 是一款高效、简洁的JavaScript库,它极大地简化了JavaScript编程,特别是DOM操作、事件处理、动画制作以及Ajax交互。jQuery 1.4.1 是该库的一个早期版本,尽管现在已经...
JQuery 1.4.1 是一个非常重要的版本,在JavaScript库的发展史上占据着显著的地位。这个版本在2010年发布,为开发者提供了许多增强的功能和性能优化,使其成为那个时期网页动态交互的首选工具。以下是关于JQuery ...
《jQuery1.4.1.chm》是针对jQuery 1.4.1版本的一个中文API文档,它提供了全面且详尽的关于这个JavaScript库的使用指南。jQuery是一个强大的JavaScript库,它极大地简化了HTML文档遍历、事件处理、动画制作以及Ajax...
**jQuery 1.4.1 中文参考离线手册** jQuery 是一个广泛使用的JavaScript库,它极大地简化了JavaScript编程,特别是在处理网页中的DOM操作、事件处理、动画效果以及Ajax交互等方面。jQuery 1.4.1是这个库的一个重要...
《jQuery 1.4.1 简体中文版详解》 jQuery,作为一个广泛使用的JavaScript库,极大地简化了网页的动态交互和DOM操作。这里我们主要关注的是jQuery 1.4.1版本的简体中文版,这个版本在当时是jQuery发展的一个重要里程...
jQuery API 1.4.1 是一个非常重要的版本,它为开发者提供了强大的工具,使得JavaScript编程更为便捷。在这个版本中,jQuery进一步优化了其核心功能,增强了性能,并引入了一些新的特性和方法。以下是对这个API的一些...