jQuery常用工具方法

jQuery.contains()

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

jQuery.contains(container,contained)

container

类型是元素。

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

contained

类型是元素。

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


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

jQuery.contains(document.documentElement, document.body); // true
jQuery.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" );

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值