没有合适的资源?快使用搜索试试~ 我知道了~
对于JQuery,想必大家都很熟悉。目前,很多web项目,在实施的过程中,考虑到各浏览器原生JS API的兼容性,大都会选用JQuery或类似于JQuery这样的框架来进行网页效果开发。JQuery上手简单,也很容易学,即使是刚接触JQuery的开发人员,借助JQuery手册,也很快能在项目中使用开发。 虽然JQuery相对简单,但要全面掌握,且快速灵活的使用它也并不那么容易,它提供了很多方法,包含了网页开发的各个知识面,所以要全面掌握这些知识点,个人认为还是需要对jquery有深入的理解,对这些知识点做分类整理记忆,这样你才能面对一些JQuery代码的时候不会感到迷惑,才会知道采用何种方式实
资源详情
资源评论
资源推荐
jquery原理以及学习技巧介绍原理以及学习技巧介绍
对于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 === 'string') {
//传入的是字符串,假设全部为html标签 ,如'div' 'p'等
var nodes = doc.getElementsByTagName(selector);
this.length = nodes.length;
for(var i=0,len=nodes.length;i<len;i++) {
this[i] = nodes[i];
}
}else { //都不是的话,就不识别咯
this.length = 0;
}
};
// ------------ 代码段四 --------------------
JQuery.prototype.html = function() {
if(this[0]) {
return JQuery.html(this[0]);
}
}
JClass.prototype = JQuery.prototype;
// ------------ 代码段五 ---------------
window.$ = window.JQuery = JQuery;
}(window));
首先,先看代码段一,我们创建一个javascript引用类型,可以根据该引用类型以及输入的参数创建一个实例对象,输入的参
数模拟JQuery选择参数,但没有JQuery强大,支持部分类型。
我们知道,可以通过new JClass(…)来构造一个实例对象,这没问题,但是JClass也是一个函数,可以被直接调用,而直接调
用并不是我们想要的结果,为了防止JClass被开发人员直接调用,我们不能将JClass暴露给开发人员,那我们只能通过代码段
二方式来构造JClass实例对象。
weixin_38518518
- 粉丝: 6
- 资源: 959
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0