封装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 提供了极为友好 ...
随机推荐
- 【MySQL】MySQL复制表结构、表数据
平常,复制.备份表,一般都直接操作IDE完成.但有时,一些初始化数据的脚本,在操作数据前,最好备份下操作表的结构.数据,不至于出错了被置于为难的境地. 所以复制表结构.表数据的语句就派上用场. > ...
- C++ UTF8 UrlEncode(宽字符)(转载)
转载:http://www.cnblogs.com/newcj/p/3645749.html #include "UrlEncode.h" #include <string& ...
- 【leetcode❤python】198. House Robber
class Solution(object): def rob(self, nums): """ :type nums: List[in ...
- 【leetcode❤python】119. Pascal's Triangle II
#-*- coding: UTF-8 -*-#杨辉三角返回给定行#方法:自上而下考虑问题,从给定的一行计算出下一行,则给定行数之后,计算的最后一行就是求解的最后一行class Solution(obj ...
- 2012 #5 History repeat itself
History repeat itself Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I6 ...
- 【转载】nedmalloc结构分析
原文:nedmalloc结构分析 nedmalloc是一个跨平台的高性能多线程内存分配库,很多库都使用它,例如:OGRE.现在我们来看看nedmalloc的实现 (以WIN32部分为例) 位操作 ...
- js跨域及解决方案
本文出自:http://www.cnblogs.com/oneword/archive/2012/12/03/2799443.html 1.什么是跨域 我们经常会在页面上使用ajax请求访问其他服务器 ...
- SQL生成包含年月日的流水号
--************************************************************************************************** ...
- Android——android相对布局(RelativeLayout)及属性
RelativeLayout布局 android:layout_marginTop="25dip" //顶部距离 android:gravity="left" ...
- STORM_0009_Lifecycle-of-a-topology/拓扑的生命周期
http://storm.apache.org/releases/1.0.1/Lifecycle-of-a-topology.html STORM拓扑的生命周期 本页的内容基于0.7.1代码,后来 ...