前言
对于JQuery,想必大家都很熟悉。目前,很多web项目,在实施的过程中,考虑到各浏览器原生JS API的兼容性,大都会选用JQuery或类似于JQuery这样的框架来进行网页效果开发。JQuery上手简单,也很容易学,即使是刚接触JQuery的开发人员,借助JQuery手册,也很快能在项目中使用开发。
虽然JQuery相对简单,但要全面掌握,且快速灵活的使用它也并不那么容易,它提供了很多方法,包含了网页开发的各个知识面,所以要全面掌握这些知识点,个人认为还是需要对jquery有深入的理解,对这些知识点做分类整理记忆,这样你才能面对一些JQuery代码的时候不会感到迷惑,才会知道采用何种方式实现某个特效是最佳实践,才能快速的采用JQuery来进行项目开发。
简单模拟JQuery
JQuery里的代码是出了名的刁钻,里面的奇技淫巧太多太多,如果你想通过源码来学习JQuery,没有一定的功底是很难做到的。所以下面写一个非常简单的库来模拟JQuery,方便大家理解。
总体代码
(function(window) {
var doc = window.document;
// -------------代码段二 ------------------
var JQuery = function(selector) {
return new JClass(selector);
}
// --------------- 代码段三 ----------------
JQuery.html = function(obj) {
if(obj && obj.nodeType === 1) {
return obj.innerHTML;
}
}
// ---------代码段一 --------------
var JClass = function(selector) {
if (selector.nodeType ) { // 如果传入的是DOM元素
this.length = 1;
}else if(selector.charAt(0) === '#') { //如果传入的是'#..'形式
this.length = 1;
this[0] = doc.getElementById(selector.slice(1));
}else if(typeof selector ===