jquery源代码分析之dom操作:removeClass
摘要:removeClass(className):从匹配的元素中删除类 @param (string) className @return (jQuery) 1 /* 2 1.对传进的参数value进行检测 3 */ 4 if ( value && typeof value === "string" ) { 5 /* 6 2.将参数value分割为数组classNames 7 */ 8 cla...
阅读全文
posted @
2012-06-26 11:53
musickog
阅读(163)
推荐(0)
jquery原代码:uaMatch()
摘要:分析:浏览器之间的兼容性问题,这个一个历史遗留问题。痛苦的是,作为一个前端开发人员得为这个兼容性问题买单。我们做开发时,往往要为每种浏览器作出局部的代码调整才能在相应的浏览器中良好的运行。我所知道的方法有两种:1.浏览器检测;2.对象检测。 在jQuery 中只要用行uaMatch()这个函数。用到的关键点有:1.regExp.exec(str);2.navigator.userAgent; 一,regExp.exec(str);用正则表达式来在字符串中查找,并返回一个数组,这个数组的0元素是整个正则匹配,1元素是第一个子匹配,2元素是第二个子匹配,如此类推。 二,navigator.u
阅读全文
posted @
2011-02-14 14:47
musickog
阅读(378)
推荐(0)
jquery原代码:trim()
摘要:分析:jquery trim() 作用是,删除字符串两边出现的空格;其中的关键实现是text.toString().replace( trimLeft, "" ).replace( trimRight, "" );是将传入的字符串分别两次调用replace,其中正则表达trimLeft是匹配左边的空格,trimRight是匹配右边的空格
阅读全文
posted @
2011-02-11 17:26
musickog
阅读(229)
推荐(0)
jquery原代码:each()
摘要:分析:jquery文档说 each(callback)作用是以每一个匹配的元素作为上下文来执行一个函数。就是用each来遍历数组,来执行同一个方法这个方法的实现最关键的是:call与apply的用法:call(apply)就是将函数的对象的从初始的上下文改为thisObj指向的对象,就是说用thisObj来代替原来的对象来执行方法:call与apply的第一个参数为this指向的对象,而后面的参数都下传给函数的,call传给函数的参数用逗号分隔而apply则为一个数组。以每一个匹配的元素作为上下文来执行一个函数
阅读全文
posted @
2011-02-11 17:07
musickog
阅读(209)
推荐(0)
jquery原代码:解析json数据(parseJSON)
摘要:View Code 1 parseJSON: function( data ) { 2 if ( typeof data !== "string" || !data ) { 3 return null; 4 } 5 6 // Make sure leading/trailing whitespace is removed (IE can't handle it) 7 data = jQuery.trim( data ); 8 9 // Make sure the inc...
阅读全文
posted @
2011-02-11 16:57
musickog
阅读(3875)
推荐(1)
jquery原代码:判断是否为空对象
摘要:isEmptyObject: function( obj ) { for ( var name in obj ) { return false; } return true; } 分析:1.什么是对象:其实,在javascript中对象是一组“键/值”的组合,说白了就是数据集,表示属性和方法jQuery 判断一个对象是否为空是使用for name in obj 来遍历对象中...
阅读全文
posted @
2011-02-11 16:18
musickog
阅读(1797)
推荐(0)
jquery原代码:isType()
摘要:class2type = {}; toString = Object.prototype.toString; type: function( obj ) { return obj == null ? String( obj ) : class2type[ toString.call(obj) ] || "object"; }, isFunction: function( ...
阅读全文
posted @
2011-02-11 16:16
musickog
阅读(256)
推荐(0)
jquery原代码:extend()
摘要:// Give the init function the jQuery prototype for later instantiation jQuery.fn.init.prototype = jQuery.fn; jQuery.extend = jQuery.fn.extend = function() { var options, name, src, copy, copyIsArr...
阅读全文
posted @
2011-02-11 16:02
musickog
阅读(288)
推荐(0)