jQuery 是一个非常棒的类库,但是为了保证代码的干净以及代码的精简,它只提供最核心的功能。所以就有了很多其他的工具来丰富jQuery的功能。我在使用这些工具的时候发现我常常重复的编写一些代码,所以我就开始把它们整理到一个类库中。我把这些代码都包装成了jQuery的代码,但这并不是必须的,你也可以在其他JS类库中使用他们,或者单独使用。
你可以在 这里下载这个类库。
jQuery.postJSON()
我不明白为何 jQuery 没有把这个方法加进去,虽然他们有 $.getJSON 方法。
3 |
{val1: "Cheetos" , val2: "Nachos" }, |
jQuery.stop()
这个方法是用来停止事件传递的。它接受两个参数,preventDefault 和 stopPropgation。
1 |
$.stop(event, preventDefault, stopPropagation); |
3 |
$( "#container" ).click( function (e) |
jQuery.shuffleArray()
这个我用的不多,但是很好用,它可以随机的打乱一个数组。
1 |
$.shuffleArray([1,2,3,4,5,6,7]); |
jQuery.reload()
这个函数就是“window.location.reload(true)”的缩写。
jQuery.uri()
这个函数可以解析 URL 的 URI 部分,可以通过 index 的方式访问,从1开始。
jQuery.URLParams()
这个函数我起码写过100遍。
jQuery.URLHash()
这个函数类似 URLParams,但是它返回的是 URL 中的 “#” 部分,如果有的话。
jQuery.hexToRGB()
这个函数也很好用,它接受一个十六进制的数字,或者RGB字符串,相互转换,非法数据会返回 false。
6 |
$.hexToRGB( "rgb(22,67,234)" ); |
7 |
$.hexToRGB( "rgb(22,67,274)" ); |
8 |
$.hexToRGB( "rgb(22,67)" ); |
jQuery.base64Encode()
将 UTF-8 的字符串用 base64 编码。
1 |
$.base64Encode( "encode this string" ); |
jQuery.base64Decode()
base64 解码,同样也是 UTF-8 编码。
1 |
$.base64Decode( "ZW5jb2RlIHRoaXMgc3RyaW5n" ); |
jQuery.utf8Encode()
将 String 转换成 UTF-8 编码的,主要用于上面提到的 base64Encode 函数。
1 |
$.utf8Encode( "utf8 encode this" ); |
jQuery.utf8Decode()
UTF-8 解码。
1 |
$.utf8Decode( "utf8 encode this" ); |
.removeClassRegEx()
这个方法真是太好用了,可以移除指定元素的指定 class。
1 |
<div class= "test testing leavemealone hellotest Tester" ></div> |
3 |
$( "#container" ).removeClassRegEx(/test/i); |
4 |
$( "#container" ).removeClassRegEx(/test/); |
5 |
$( "#container" ).removeClassRegEx(/^test/i); |
6 |
$( "#container" ).removeClassRegEx(/test$/); |
.hasClassRegEx()
和 removeClassRegEx 类似,这个方法检查指定元素是否有指定的 class。
1 |
<div class= "test testing leavemealone hellotest Tester" ></div> |
3 |
$( "#container" ).removeClassRegEx(/test/i); |
4 |
$( "#container" ).removeClassRegEx(/test/); |
5 |
$( "#container" ).removeClassRegEx(/^test/i); |
6 |
$( "#container" ).removeClassRegEx(/test$/); |
7 |
$( "#container" ).removeClassRegEx(/^testy$/); |
.maxChars()
这个函数对那些没有“maxlength”属性的input元素就很有用。它也可以指定一个元素来显示剩余字符。
1 |
$( "input" ).maxChars(50); |
2 |
$( "input" ).maxChars(50, $( "#maxChars_counter" )); |
Object.sizeof()
这个方法是 JavaScript 的一个扩展,可以让你获取对象的长度。
1 |
{cow: "moo" , duck: "quack" }.sizeof(); |
String.capitalize()
这是 String 对象的一个扩展,可以把一个字符串变成大写的。
String.pxToInt()
这个方法用了很多,特别是在我返回一个 CSS 属性的时候,我希望得到一个整数。
2 |
$( "container" ).css( 'height' ).pxToInt(); |
原文链接, OSChina.NET 原创编译