本身方法($.each,$.map,$.contains,$ajax)
常用工具方法
(1)$.trim
$.trim方法用于移除字符串头部和尾部多余的空格。
(2)$.contains
$.contains方法返回一个布尔值,表示某个DOM元素(第二个参数)是否为另一个DOM元素(第一个参数)的下级元素。
(3)$.each,$.map
$.each方法用于遍历数组和对象,然后返回原始对象。它接受两个参数,分别是数据集合和回调函数。
$.map方法也是用来遍历数组和对象,但是会返回一个新对象。
(4)$.inArray
$.inArray方法返回一个值在数组中的位置(从0开始)。如果该值不在数组中,则返回-1。
(5)$.extend
$.extend方法用于将多个对象合并进第一个对象。
(6)$.proxy
$.proxy方法类似于ECMAScript 5的bind方法,可以绑定函数的上下文(也就是this对象)和参数,返回一个新函数。
jQuery.proxy()的主要用处是为回调函数绑定上下文对象。
这个例子的另一种等价的写法是:
这个例子表明,proxy方法的写法主要有两种。
再看一个例子。正常情况下,下面代码中的this对象指向发生click事件的DOM对象。
这时,就可以用proxy方法,将this对象绑定到myElement对象。
(7)$.data,$.removeData
$.data方法可以用来在DOM节点上储存数据。
上面代码在网页元素body上储存了一个键值对,键名为“foo”,键值为52。
$.removeData方法用于移除$.data方法所储存的数据。
(8)$.parseHTML,$.parseJSON,$.parseXML
$.parseHTML方法用于将字符串解析为DOM对象。
$.parseJSON方法用于将JSON字符串解析为JavaScript对象,作用与原生的JSON.parse()类似。但是,jQuery没有提供类似JSON.stringify()的方法,即不提供将JavaScript对象转为JSON对象的方法。
$.parseXML方法用于将字符串解析为XML对象。
(9)$.makeArray
$.makeArray方法将一个类似数组的对象,转化为真正的数组。
判断数据类型的方法
jQuery提供一系列工具方法,用来判断数据类型,以弥补JavaScript原生的typeof运算符的不足。以下方法对参数进行判断,返回一个布尔值。
jQuery.isArray():是否为数组。 jQuery.isEmptyObject():是否为空对象(不含可枚举的属性)。 jQuery.isFunction():是否为函数。 jQuery.isNumeric():是否为数组。 jQuery.isPlainObject():是否为使用“{}”或“new Object”生成的对象,而不是浏览器原生提供的对象。 jQuery.isWindow():是否为window对象。 jQuery.isXMLDoc():判断一个DOM节点是否处于XML文档之中。 下面是一些例子。
Ajax操作
$.ajax
jQuery对象上面还定义了Ajax方法($.ajax()),用来处理Ajax操作。调用该方法后,浏览器就会向服务器发出一个HTTP请求。
$.ajax()的用法有多种,最常见的是提供一个对象参数。
async:该项默认为true,如果设为false,则表示发出的是同步请求。 cache: 该项默认为true,如果设为false,则浏览器不缓存返回服务器返回的数据。注意,浏览器本身就不会缓存POST请求返回的数据,所以即使设为false,也只对HEAD和GET请求有效。 url:服务器端网址。这是唯一必需的一个属性,其他属性都可以省略。 type:向服务器发送信息所使用的HTTP动词,默认为GET,其他动词有POST、PUT、DELETE。 dataType:向服务器请求的数据类型,可以设为text、html、script、json、jsonp和xml。 data:向服务器发送的数据,如果使用GET方法,此项将转为查询字符串,附在网址的最后。 success:请求成功时的回调函数,函数参数为服务器传回的数据、状态信息、发出请求的原始对象。 timeout: 等待的最长毫秒数。如果过了这个时间,请求还没有返回,则自动将请求状态改为失败。 error:请求失败时的回调函数,函数参数为发出请求的原始对象以及返回的状态信息。 complete:不管请求成功或失败,都会执行的回调函数,函数参数为发出请求的原始对象以及返回的状态信息。 这些参数之中,url可以独立出来,作为ajax方法的第一个参数。也就是说,上面代码还可以写成下面这样。
简便写法
ajax方法还有一些简便写法。
$.get():发出GET请求。 $.getScript():读取一个JavaScript脚本文件并执行。 $.getJSON():发出GET请求,读取一个JSON文件。 $.post():发出POST请求。 $.fn.load():读取一个html文件,并将其放入当前元素之中。 一般来说,这些简便方法依次接受三个参数:url、数据、成功时的回调函数。
(1)$.get(),$.post()
上面的post方法对应的ajax写法如下。
(2)$.getJSON()
ajax方法的另一个简便写法是getJSON方法。当服务器端返回JSON格式的数据,可以用这个方法代替$.ajax方法。
(3)$.getScript()
getScript的回调函数接受三个参数,分别是脚本文件的内容,HTTP响应的状态信息和ajax对象实例。
(4)$.fn.load()
$.fn.load不是jQuery的工具方法,而是定义在jQuery对象实例上的方法,用于获取服务器端的HTML文件,将其放入当前元素。由于该方法也属于ajax操作,所以放在这里一起讲。
Ajax事件
jQuery提供以下一些方法,用于指定特定的AJAX事件的回调函数。
.ajaxComplete():ajax请求完成。 .ajaxError():ajax请求出错。 .ajaxSend():ajax请求发出之前。 .ajaxStart():第一个ajax请求开始发出,即没有还未完成ajax请求。 .ajaxStop():所有ajax请求完成之后。 .ajaxSuccess():ajax请求成功之后。 下面是示例。