封装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 提供了极为友好 ...
随机推荐
- 数据库连接池系列之——c3p0
c3p0的jar包是:c3p0-0.9.1.jar <bean id = "dataSource" class = "com.mchange.v2.c3p0.Com ...
- windows下安装laravel简单步骤以及碰到的问题
1.下载并安装composerhttp://pkg.phpcomposer.com/ ========================================================= ...
- 判断浏览器是否为IE内核的最简单的方法
没啥说的,直接贴代码,算是ie hack了. if (!+[1,]) { alert('is ie'); }
- 4、Type fundamentals
1.All Types Are Derived from System.Object The CLR requires all objects to be created using the new ...
- JS学习笔记(四) 正则表达式(RegExp对象)
参考资料: 1. http://www.w3school.com.cn/js/js_obj_regexp.asp ☂ 知识点: ☞ RegExp是正则表达式的缩写. ☞ RegExp是一种模式,用于在 ...
- FLASH CC 2015 CANVAS 导出图片出现缩放问题
最近有项目 没时间更新教程 刚才出现一个问题 就是导出动画后,发现有图片无故被缩放(与软件内的设置不一样) 经过排查 发现动画师 直接将位图 进行了缩放, 导出后出现问题 把文图转换为影片剪辑后,做缩 ...
- lotusscript基本语法
LotusScript是一种使用于Lotus Notes客户端程序或者是用于Domino服务器程序代理列表中的脚本语言.相当于用于网页中的脚本语言JavaScript.(JavaScript以可以用于 ...
- jQuery EasyUI DataGrid API 中文文档
扩展自$.fn.panel.defaults,用 $.fn.datagrid.defaults重写了 defaults . 依赖 panel resizable linkbutton pagi ...
- HDU-4521 小明系列问题——小明序列 间隔限制最长上升子序列
题意:给定一个长度为N的序列,现在要求给出一个最长的序列满足序列中的元素严格上升并且相邻两个数字的下标间隔要严格大于d. 分析: 1.线段树 由于给定的元素的取值范围为0-10^5,因此维护一棵线段树 ...
- C++ ASSERT() 断言机制
C++ ASSERT() 断言机制 ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行.如果表达式不为0,则继 ...