该把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程序设计有所帮助。