封装jquery时用到的东西
顺序都是瞎拍的,就是明显分割用
1.将函数封装成$(' ')这种形式
把函数名起成$ $(各种选择器) $(selector)
2.有时候jquery可以继续加点,返回自己本身的元素
创建个构造函数,把它返回 return new 构造函数名(各种选择器)
3.之后的那些个字面量创建的函数怎么办
把这些函数当做构造函数的原型的方法写进原型里
4.可以通过下标取元素怎么做
调用selectAll方法,把所有selector的选择器的东西都存起来写入this,变成伪数组数组中,那么就可以通过this[i]取元素了
还要添加长度
5.try{可能出现错误的代码}catch(e){出错了就走这里}
6.dom元素想变成$元素直接加$(dom)就变了
this[0]=dom;
加长度length=1
7.关键好函数
1)常用的each函数遍历this[i]的元素,也就是取出selector的每个元素
each: function (fn) {
//this是一个伪数组,数组里面装的是每一个dom元素
for (var i = 0;i < this.length;i++) {
//将fn里面的this指向变为dom元素
fn.call(this[i]);
}
},
之后就可以通过each(function(){
对每一个函数进行操作
})
2)这个函数要写进构造函数的里面,因为要用到这个函数
//将字符串转换为dom
function stringToDom(str) {
//创建了一个div
var node = document.createElement('div');//做一个中介的容器,来装字符串
node.innerHTML = str;
//childNodes:获取所有的子节点,装了dom元素的数组
return node.childNodes;
}
3)将dom包装成数组
changeDomToArray: function (dom) {
dom = typeof dom == 'string' ? this.selectAll(dom) : dom; 三目运算符
if (!dom.length) {//不是数组
dom = [dom];
}
return dom;
},
封装jquery时用到的东西的更多相关文章
- javascript jquery封装对象时的错误,求解!我想知道为什么
jquery 封装对象时的错误 --------------------------------------------<input id="name" name=&qu ...
- 封装jQuery插件的步骤
引语:jQuery提供了很多插件,我们在开发的过程使用插件能节省时间简化开发也避免从头开始编写每个组件,单我们除了懂得使用别人已编写好的插件以外,也到懂得如何封装属于我们自己的插件,以下就是封装jQu ...
- seajs加载jquery时提示$ is not a function该怎么解决
这篇文章主要介绍了seajs加载jquery时提示$ is not a function该怎么解决的相关资料,需要的朋友可以参考下 jquery1.7以上的都支持模块化加载,只是jquery默认的是支 ...
- 封装Jquery 合并table中任何同列数据
封装代码: jQuery.fn.rowspan = function (colIdx) { //封装JQuery同列值相同合并小插件 return this.each(function () { va ...
- Ajax请求Session超时的解决办法:拦截器 + 封装jquery的post方法
目标:前端系统,后端系统等,统一处理Session超时和系统错误的问题. 可能需要处理的问题:Session超时.系统500错误.普通的业务错误.权限不足. 同步请求: Sess ...
- 整理一下前段时间在写iOS app时所涉及的东西
在刚学习和做完一个android app后,看了两周的Objective-C就开始做这个项目,所以整个app代码有很多现学现用的东西,今天来总结一下. 这个名为VID的app是用于公司产品的研发与de ...
- Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定
一放假就高产似母猪了. 00.混乱的前端界 Angular1.x确实是个学习成本很高的框架,刚开始实习那会儿,前端啥也不懂,工头说用Angular,我们这群小弟也只能硬着头皮学.在这之前,前端的东西大 ...
- 求帮忙解决封装jquery图片滚动问题
今天用jquery封装了点击图片滚动,但是发现在屏幕自适应时,图片停在的位置会随着屏幕大小而错位(我引入了pocketgrid.css响应式文件,但没办法去那边修改onsize事件...),求大神.. ...
- [译] jQuery 3 有哪些新东西
转自:https://github.com/cssmagic/blog/issues/59 jQuery 的横空出世,至今已有十个年头了,而它的长盛不衰显然不是没有理由的.jQuery 提供了极为友好 ...
随机推荐
- visual studio运行时库MT、MTd、MD、MDd的研究(转载)
转载:http://blog.csdn.net/ybxuwei/article/details/9095067 转载:http://blog.sina.com.cn/s/blog_624485f701 ...
- Struts2的处理结果(一)——处理结果的配置
Struts2的处理结果(一) --处理结果的配置 1.处理结果 在Action处理完用户请求之后,并不会直接生成响应,而是把一个字符串返回给Struts2框架,再由框架选择此字符串结果对应的物理视图 ...
- C#多线程之二:ManualResetEvent和AutoResetEvent
初次体验 ManualResetEvent和AutoResetEvent主要负责多线程编程中的线程同步:以下一段是引述网上和MSDN的解析: 在.Net多线程编程中,AutoResetEvent和Ma ...
- CodeForces 313C Ilya and Matrix
Ilya and Matrix Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Su ...
- Bson
https://en.wikipedia.org/wiki/BSON BSON /ˈbiːsɒn/ is a computer data interchange format used mainly ...
- Create Stacked Canvas to Scroll Horizontal Tabular Data Blocks In Oracle Forms
In this tutorial you will learn to create horizontal scrollable tabular or detail data block by usin ...
- CALayer总结(二)
1.CATransaction 事务: UIView有两个方法,+beginAnimations:context:和+commitAnimations,和CATransaction的+begin 和+ ...
- getting started with Baxter Research Robot
1. Baxter Research Robot Baxter Research Robot is from Rethink Robotics. There is also a video on TE ...
- Codeforces Round #378 (Div. 2) D. Kostya the Sculptor map+pair
D. Kostya the Sculptor time limit per test 3 seconds memory limit per test 256 megabytes input stand ...
- TCP协议中的三次握手和四次挥手(图解) 转载
建立TCP需要三次握手才能建立,而断开连接则需要四次握手.整个过程如下图所示: 先来看看如何建立连接的. 首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资 ...