jQuery常用工具方法

来源:互联网 发布:淘宝会员名能改名吗 编辑:程序博客网 时间:2024/05/17 07:52

jQuery.contains()

判断一个DOM元素是否在另一个DOM元素中。

jQuery.contains(container,contained)

container

类型是元素。

可能会包含其他元素的DOM元素。

contained

类型是元素。

也许会把其他元素包含的DOM元素。


注意:第一个参数必须是DOM元素,不是jQuery对象或者javascript对象。

jQuery.contains(document.documentElement, document.body); // truejQuery.contains(document.body, document.documentElement); // false


jQuery.each()

常见的迭代函数,能够无缝的迭代对象和数组。含有length属性的数组或类似数组的对象(如一个函数的参数对象)能够从被数字化的索引从0到length-1迭代。其他的对象是通过他们的属性被迭代。

jQuery.each(collection,callback(indexArray,valueOfElement))

collection

类型是对象。

会被迭代的对象或数组

callback(indexInArray,valueOfElement)

类型是函数。

这个函数会在每个对象上执行。


$.each()函数和 $(selector).each()不同,$(selector).each()仅仅是被用来迭代jQuery对象。$.each()函数能够被在任何集合上迭代,不管集合是对象还是数组。如果是数组,回调函数每次会被传递一个数组索引和对应的数组的值。(这个值也可以通过this关键字来访问,但是javascript总是会把this的值作为一个对象,即使它只是一个字符串或者数字)这个方法返回被迭代的对象作为它的第一个参数。

$.each([52, 97], function(index, value) {alert(index + ': ' + value);});
会有如下信息:

0: 52
1: 97

如果一个对象被当作成集合使用,回调函数每次都会被传递key-value对:

var obj = {"flammable": "inflammable","duh": "no duh"};$.each( obj, function( key, value ) {alert( key + ": " + value );});

如果一个对象被当作成集合使用,回调函数每次都会被传递key-value对:
 flammable: inflammable
duh: no duh
我们可以通过防回调函数返回false,在一个特殊的迭代中跳出$.each()循环。返回non-false和返回continue状态在for循环中是一样的;他会立即跳下下一次迭代(有一点语言基础的,这句话还是很好理解的)。


jQuery.globalEval()

全局地执行一些脚本代码

jQuery.globalEval(code)

code

类型是字符串。

被执行的Javascript代码。


这个方法和普通的javascript的eval()方法不同,因为他在全局的context下执行(这个对于动态的加载外部的脚本来说很重要)。


jQuery.now()

返回当前的时间

这个方法不接受任何参数。

这个$.now()方法是(new Date).getTime()表达式的返回值的一个简称。



jQuery.grep()

查找满足给定过滤函数的数组中的元素。该数组不受影响。

jQuery.grep(array,function(elementOfArray,indexInArray)[,invert])

array

类型是数组。

被查找的数组。

function(elementOfArray,indexInArray)

类型是函数。

执行每个元素所使用的函数。函数的第一个参数是数组元素的值,第二个参数是数组元素的索引。这个函数应该返回一个布尔值。this是全局的window对象。

invert

类型是布尔值。

如果invert是false,或者未提供,然后该方法会返回回调(callback)值为true的所有元素组成的数组,反之亦然。


$.grep()方法会按需要的移除数组中的元素,因此所有的剩下的元素能够满足条件。这个条件是一个函数,该数组的所有和值被传递给这个函数。但条件返回true时,相应的值会被放到结果数组中。(这就相当于按条件查询,选择满足的元素)
这个过滤函数会被传递两个参数:当前数组的值和索引。过滤函数必须返回true来包含该元素到结果数组中。

<script>var arr = [ 1, 9, 3, 8, 6, 1, 5, 9, 4, 7, 3, 8, 6, 9, 1 ];$("div").text(arr.join(", "));arr = jQuery.grep(arr, function(n, i){return (n != 5 && i > 4);});$("p").text(arr.join(", "));arr = jQuery.grep(arr, function (a) { return a != 9; });$("span").text(arr.join(", "));</script>
对应的text显示:

1, 9, 3, 8, 6, 1, 5, 9, 4, 7, 3, 8, 6, 9, 1

1, 9, 4, 7, 3, 8, 6, 9, 1

1, 4, 7, 3, 8, 6, 1

$.grep( [0,1,2], function(n,i){return n > 0;});//返回数组[1, 2] 
$.grep( [0,1,2], function(n,i){return n > 0;},true);//返回数组[0]


jQuery.trim()

移除字符串前后的空格

jQuery(str)

str

类型是字符串。

需要修剪的字符串。


jQuery.parseXML()

将一个字符串解析为一个XML文档。

jQuery.parseXML(data)

data

类型是字符串。

被解析的符合语法规则的XML字符串


jQuery.parseXML使用的是本地的浏览器格式化方法来创建一个合法的XML文档。这个文档能够被传递给jQuery来创建能够被遍历和操作的标准的jQuery对象。

<script>var xml = "<rss version='2.0'><channel><title>RSS Title</title></channel></rss>",xmlDoc = $.parseXML( xml ),$xml = $( xmlDoc ),$title = $xml.find( "title" );/* append "RSS Title" to #someElement */$( "#someElement" ).append( $title.text() );//title.text() 值为RSS Title/* change the title to "XML Title" */$title.text( "XML Title" );/* append "XML Title" to #anotherElement */$( "#anotherElement" ).append( $title.text() );//设置title的text为XML Title</script>

jQuery.parseJSON()

接收一个格式正确的JSON字符串,并返回生成的Javascript对象。

jQuery.parseJSON(json)

json

类型是字符串。

被解析的JSON字符串。


传递一个不正确的JSON字符串会导致异常抛出。如,下面是不正确的JSON字符串:
{test: 1} (test没有双引号)
{'test': 1}('test'是单引号而不是双引号)
另外,如果什么也没传递,一个空的字符串,null,undefined,parseJSON方法会返回'null'。在浏览器中提供一个原生实现的JSON.parse,jQuery会使用它来解析字符串。详细了解JSON format.

var obj = jQuery.parseJSON('{"name":"John"}');alert( obj.name === "John" );

原创粉丝点击