该把jQuery的源代码分析()方法的解释

本文给出了更详细的分析()把jQuery的源代码的解释方法。分享给你供你参考。具体分析如下:

扩展jQuery原型对象的方法:

复制代码代码如下:jquery.fn.extend({

以以DOM元素移除的属性名传递的名称。

RemoveAttr:功能(name){

/ /使用jquery.fn对象,采用每个jQuery原型对象遍历数组当前选择器选择一个jQuery对象,并返回jQuery对象调用链。

返回this.each(函数(){()

/ /把全局调用jQuery方法,传入的DOM对象,删除名字遍历属性名称。

JQuery.removeAttr(这名字);

});

}

});

jQuery的方法把全球

复制代码如下:jQuery对象的全局扩展方法

JQuery.extend({

/ /元素是每个DOM对象,走过,和价值是要移除的属性名称。

RemoveAttr:功能(元素、值){

变量名,propname,

我= 0,

/ / rnotwhite是( / / S + G)

如果值为

/ /如果值为标题链接

匹配是Javascript字符串的一种方式。它检索字符串中指定的值,或者找到一个或多个正则表达式来匹配与结果匹配的数组。

attrnames =价值value.match(rnotwhite);

/ /如果attrnames不是空的,和当前的DOM对象的节点类型是1,进入if块,或失去功能,下一步的遍历结束,遍历。

如果(attrnames elem.nodetype = 1){

这是一个attrnames / /删除数组的属性名称,即{标题

执行 / /而周期的平均的写法,先从attrnames出名字的元素分配给我,同比增长1,然后确定名称的值,进入执行周期,下一个周期的执行完成后,直到名称值,跳出循环。

而(((name = attrnames {我+ })){

如果名称和属性名称相同,如和类

propname = jQuery。propfix {姓名} | |;

如果是特殊处理的布尔属性。

如果(jquery.expr.match.bool.test(名字)){

/ / getsetinput检测输入元素支持getAttribute(价值)

/ / getsetattribute检测是否支持设置驼峰命名格式属性名称

/ / rusedefault.test!(名称)不敏感地检测名称是否被选中或选中的属性,

如果(getsetinput getsetattribute | |!rusedefault.test(名字)){

删除布尔属性实际上是false的布尔属性赋值。

元素{ propname } =假;

{人}

支持/ IE9

默认选中 / /这个属性转换为defaultchecked

元素{ jquery.camelcase(默认+姓名)} =

元素{ propname } =假;

}

{人}

/ /如果不是一个布尔属性,全局属性的方法称为jQuery设置属性

JQuery.attr(元,名字,);

}

/ / getsetattribute是用来测试是否将支持驼峰命名的名字。如果可以,当你使用setAttribute和getAttribute,你需要使用修改后的属性的名称。(兼容IE6 / 7)

/ /如果getsetattibute等于虚假,不支持,使用属性名称,修改的支持,利用原有的属性名称。

/ / removeattribute方法调用原生DOM,删除属性

elem.removeattribute(getsetattribute名称:propname);

}

}

}

});

关键词属性修正

复制代码代码如下:jquery.extend({

propfix:{

htmlFor

类:类名

}

});

JQuery.extend({

CamelCase:函数(字符串){

返回string.replace(rmsprefix,)代替(rdashalpha,fcamelcase);

}

});

无功nodehook,boolhook,

attrhandle = jquery.expr.attrhandle,

rusedefault = $ /我/ ^(检查|选定),

getsetattribute = support.getsetattribute,

getsetinput = support.input;

安装

div = document.createelement(div);

div.setattribute(名

div.innerhtml = ;

a div.getelementsbytagname(){ 0 };

批试验。第一

选择= document.createelement(选择);

选择= select.appendchild(document.createelement(选项));

输入= div.getelementsbytagname(输入){ 0 };

a.style.csstext =顶:1px ;

在camelCase类测试的作用。如果它工作,我们需要做的attrfixes时 / setAttribute(IE6 / 7)

support.getsetattribute = div.classname = =T;

检查是否输入支持getAttribute(价值)

复制代码如下: / /支持:IE8只

如果我们能信任getAttribute /检查(价值)

输入= document.createelement(输入);

input.setattribute(价值

support.input = input.getattribute(价值);

是否检测布尔值属性

复制代码如下:布尔值=检查|选择|异步|自动对焦|自动播放|控制|推迟|残疾人|隐藏|农产品管理综合系统|环|多|开放|只读|要求|范围。

MatchExpr = { {

布尔:新的正则表达式(^(^:+布尔值+)$

},

希望本文能对大家的jQuery程序设计有所帮助。