jQuery源码学习之常用方法解析

1.将其他类型转换为数组,一般想到的是toArray,我们看一下toArray的源码实现

toArray: function() {
return slice.call( this, 0 );
}

2.当没有传递参数时get将返回一个数组,数组中包括所有元素。

$div.get(0); //等同于$("div:first");
$div.get().length === $("div").length; //true

3.jQuery提供的slice和eq方法都是支持负数参数的。
slice(begin[,end])是从0开始索引的,包括begin不包括end。没有传递第二个参数默认返回从第一个参数(包括第一个参数所在的元素)到最后一个元素。

<html>
<p>index is 0 or -3</p>
<p>index is 1 or -2</p>
<p>index is 2 or -1</p>
</html>

$("p").slice(-1);//last
$("p").slice(1,2);//只返回index是1的p
$("p").slice(1);//返回index 〉=1的所有p

//可能看的还不够明了,直接上字符串好了
var str="string";
str.slice(1,2);//"t"
str.slice(1);//"tring"

ruby也有slice方法,但是ruby的slice方法的两个参数的意义是不同的,第二个参数是截取字符串的长度。当没有给出第二个参数,默认是截取一个字符。

irb(main):001:0> "string".slice(1,2)
=> "tr"
irb(main):002:0> "string".slice(1,2)
=> "t"
irb(main):003:0>

4.isFunction

//if $.type == "function",isFounction() is true;others are false
var function_demo = function(){
alert("I am function");
};

var not_function_demo = [];
var $elem = $("div");

$.isFunction(function_demo);//true
$.type(function_demo); //"function"

$.isFunction(not_function_demo);//false
$.type(not_function_demo); //"array"

$.isFunction($elem);//false
$.type($elem); //"object"

5.isArray

var arr_demo = [];
$.type(arr_demo); //"array"
$.isArray(arr_demo); //true

6.end()
(1)不接受任何参数
(2)end()将链的源头返回,达到find( ".bar" )是在$( "ul.first" )中查找

<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$( "ul.first" )
.find( ".foo" )
.css( "background-color", "red" )
.end()
.find( ".bar" ) //third li
.css( "background-color", "green" );
});
</script>
</head>
<body>
<ul class="first">
<li class="foo">list item 1</li>
<li class="bar">list item 2</li>
<li>list item 3</li>
<li>list item 4</li>
<li>list item 5</li>
</ul>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值