分享几个实用的jquery工具函数
1.$.browser对象属性
属性列表 说明
webkit webkit相关浏览器则返回true,否则返回false,如google,傲游。
mozilla mozilla相关浏览器则返回true,否则返回false,如火狐
safari safari相关浏览器则返回true,否则返回false,如safari
opera opera相关浏览器则返回true,否则返回false,如opera
msie msie相关浏览器则返回true,否则返回false,如IE,360,搜狗
version 返回对应浏览器的版本
$(function () {
if ($.browser.msie) {
alert("IE浏览器");
}
if ($.browser.webkit) {
alert("webkit浏览器");
}
if ($.browser.mozilla) {
alert("mozilla浏览器");
}
if ($.browser.safari) {
alert("safari浏览器");
}
if ($.browser.opera) {
alert("opera浏览器");
}
alert($.browser.version);
})
2.$.each()
遍历数组。
$(function () {
var arr = { "张三": "23","李四": 22,"王五": "21" };
$.each(arr, function (index, value) {
document.write(index + ":");
document.write(value + " ");
});
}) ;
//输出: 张三:23 李四:22 王五:21
3.$.grep()
筛选符合条件的元素,返回一个新数组
语法:$.grep(Arrar,fn(value,index)); 要注意下回调函数的参数的顺序,第一个是值,第二个是索引。
$.grep(Arrar,fn(value,index),[bool]); 第三个参数表示是否取反,true表示取反,false表示不取反。
$(function () {
var arr = [2, 5, 34, 22, 8];
var arr1 = $.grep(arr, function(value, index) {
return index <= 2 && value < 10;
})
document.write(arr1.join()); //输出2,5
})
4.$.map()
改变函数内的数据,接受一个数组或类数组对象作为参数
$(function () {
var arr = [2, 5, 34, 22, 8];
var arr1 = $.map(arr, function (value, index) {
if (value > 5 && index <) {
return value - 10;
}
})
document.write(arr.join() + ""); //2,5,34,22,8
//可以看到原数组不改变 document.write(arr1.join()); //24 新数组只获得了操作之后的结果
})
5.$.inArray()
如果数组中存在被搜索元素,则返回被搜索元素的索引
$(function () {
var arr = [1, 2, 3, 4, 5];
alert($.inArray(4,arr)); //弹出 3
})
6.$.trim()
去除字符串两边的空格
7.$.param()
序列化成url字符串,$.param(obj,[bool]); 第二个参数为可选参数,表示是否浅层序列化
$(function () {
var man = { Name: "张飞", Age: 23 };
var str = $.param(man);
document.write(str); //Name=%E5%BC%A0%E9%A3%9E&Age=23
var str1 = decodeURI(str);
document.write("" + str1); //Name=张飞&Age=23
})
8.$.makeArray()
将数组或类数组对象的属性复制到一个新的数组(真的是数组)中,并返回该新数组。
var arr = [1,3,5,7,9];
$(function () {
var arr1 = $.makeArray(arr);
document.write(arr1.join()); //输出 1,3,5,7,9
})
9.$.merge()
该函数接受两个数组或类数组对象,将第二个参数附加到第一个参数上面,返回第一个参数,第一个数组会修改,第二个不会。
var arr1 = [1, 3, 5, 7, 9];
var arr2 = [2, 4, 6, 8, 10];
$(function () {
var arr3 = $.merge(arr1, arr2);
document.write(arr1.join() + ""); //1,3,5,7,9,2,4,6,8,10
document.write(arr2.join() + ""); //2,4,6,8,10
document.write(arr3.join() + ""); //1,3,5,7,9,2,4,6,8,10
})
10.$.parseJSON()
该函数会解析JSON格式的字符串,并返回解析结果(对象)。 类似于JSON.parse(),注意:jQuery只定义了JSON解析函数,并没有定义序列化函数
var man = { name: "张三", age: 23 };
var str = JSON.stringify(man);
document.write(str + ""); //{"name":"张三","age":23}
var man1 = $.parseJSON(str);
document.write(man1.name + man1.age); //张三23
11.$.proxy()
类似于Function对象的bind()方法,接受函数作为第一个参数,对象作为第二个参数,并返回一个新函数,该函数会作为第二个参数对象的方法调用。
$(function () {
var obj = {
name: "John",
test: function () {
alert(this.name); //当id为test的按钮点击时,弹出姓名
$("#test").unbind("click", obj.test);
//并取消事件绑定(下次再点击不会弹出姓名)
}
};
$("#test").click(jQuery.proxy(obj, "test")); //绑定object对象里面的方法test
})
12.$.unique(array)
删除元素数组中的重复元素
$(function () {
var arr = [1, 2, 3, 2, 1];
jQuery.unique(arr);
alert(arr.join()); //返回 3,2,1
})
13.$.extend()
合并对象中的元素
$(function(){
var result=$.extend({},{name:"Tom",age:21},{name:"Jerry",sex:"Boy"});
alert(result.name); //输出 Jerry 后面的会覆盖前面的,result始终只是一个对象
})
要特别注意的一点是:后面的值会覆盖前面同名的值。
14.测试操作
返回true or false
$.isArray(obj) 检测参数是否是数组
$.isFunction(obj) 检测参数是否是一个函数
$.isEmptyObject(obj) 检测参数是否是一个空对象
$.isPlainObject(obj) 检测参数是否是一个纯粹对象,即对象是否通过{}或new Object()关键字创建。
$.contains(container,contained) 检测一个DOM节点是否包含另一个DOM节点。是则返回true否则表示false。注意参数是DOM对象并非jQuery对象。
分享几个实用的jquery工具函数的更多相关文章
- 从零开始学习jQuery (九) jQuery工具函数
一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案, 即使你会使用jQuery也能在阅读中发现些许秘籍. 我们经常要使用脚本处理各种业务逻辑, 最常见的就 ...
- jQuery 工具函数
jQuery工具函数 一.$.browser对象属性 属性列表 说明 webkit webkit相关浏览器则返回true,否则返回false,如google,傲游. mozilla mozilla相关 ...
- jQuery工具函数(转)
原文地址:http://www.cnblogs.com/kissdodog/archive/2012/12/27/2835561.html 作者:逆心 ------------------------ ...
- jQuery工具函数
要点:1.字符串操作2.数组和对象操作3.测试操作4.URL 操作5.浏览器检测6.其他操作 工具函数是指直接依附于 jQuery 对象,针对 jQuery 对象本身定义的方法,即全局性的函数.它的作 ...
- 4月13日学习笔记——jQuery工具函数
浏览器及特性检测 jQuery.support.boxModel 如果这个页面和浏览器是以 W3C CSS 盒式模型来渲染的,则等于 true.通常在 IE 6 和 IE 7 的怪癖模式中这个值是 f ...
- jquery工具函数browser() 辨别浏览器
1.browser属性不是一个函数是一个全局对象,可以辨别客户端浏览器. 2.属性1:$.browser.msie如果返回true则客户端浏览器是ie.相似的$.browser.safari返回tru ...
- jQuery工具函数下
测试操作 1.判断是否为数组对象 $(function () { //判断是否为数组对象 var arr = [1,2,3,4]; alert($.isArray(arr));//true }); 2 ...
- jQuery工具函数上
1.字符串操作 <!DOCTYPE html> <html> <head lang="en"> <meta charset="U ...
- JQuery实践--实用工具函数
实用工具函数,$命名空间的一系列函数,但不操作包装集.它要么操作除DOM元素以外的Javascript对象,要么执行一些非对象相关的操作. JQuery的浏览器检测标志可在任何就绪处理程序执行之前使用 ...
随机推荐
- SGU 194 Reactor Cooling
http://acm.sgu.ru/problem.php?contest=0&problem=194 题意:m条有向边,有上下界,求最大流. 思路:原图中有u-v low[i],high[i ...
- Chrome小技巧:如何下载离线版安装文件
每当chrome有更新之后,都有不少用户想要下载离线版的安装文件,但苦于找不到下载地址而发愁,其实这个问题很简单,下面我来分享一下方法(仅针对Windows操作系统): 对于稳定版(正式版)Chrom ...
- Android 有缓存功能的请求封装接口
/* * @Company 浙 江 鸿 程 计 算 机 系 统 有 限 公 司 * @URL http://www.zjhcsoft.com * @Address 杭州滨江区伟业路1号 * @Emai ...
- SuperSpider——打造功能强大的爬虫利器
SuperSpider——打造功能强大的爬虫利器 1.爬虫的介绍 图1-1 爬虫(spider) 网络爬虫(web spider)是一个自动的通过网络抓取互联网 上的网页的程序,在当今互联网 中 ...
- yum 配置详解(转发)
一.yum 简介 yum,是Yellow dog Updater, Modified 的简称,是杜克大学为了提高RPM 软件包安装性而开发的一种软件包管理器.起初是由yellow dog 这一发行版的 ...
- MFC调用c#的dll
一.使用 /clr 编译 MFC 可执行文件或规则 DLL 1.打开“项目属性”对话框,方法是右键单击“解决方案资源管理器”中的项目并选择“属性”. 2.展开“配置属性”旁边的节点并选择“常规”.在右 ...
- MVVM 介绍
我会修改一个关键架构,并将其带入我从那时起就在开发的各种应用,即使用一种叫做 Model-View-ViewModel 的架构替换 Model-View-Controller. 所以,MVVM 到底是 ...
- LDA-线性判别分析(四)
本来是要调研 Latent Dirichlet Allocation 的那个 LDA 的, 没想到查到很多关于 Linear Discriminant Analysis 这个 LDA 的资料.初步看了 ...
- java多态的理解----部分非原创
所谓多态,其实就是对于同一件事情,不同的对象要采取不同的行为,或者同一个对象在不同的情况下需要采取不同的行为方式. 不同的对象要采取不同的行为: 这有两种实现方式:接口实现和子类重新父类方法.这两种实 ...
- [HTML5] Level up -- Display
HTML5 Input type: Traditionally presentational tags, the i, b, em, and strong tags have been given n ...