内容目录
slice()
函数用于选取匹配元素中一段连续的元素,并以jQuery对象的形式返回。
该函数属于jQuery
对象(实例)。
语法
jQuery 1.1.4 新增该函数。
jQueryObject.slice( startIndex [, endIndex ] )
参数
参数 | 描述 |
---|---|
startIndex | Integer类型指定选取的起始索引,从0开始算起。 |
endIndex | 可选/Integer类型指定的结束索引(不包括该索引位置的元素)。 |
如果startIndex
为负数,则表示startIndex + length
,length
表示匹配的元素个数(也可理解为从后向前计数)。
如果endIndex
为负数,则表示endIndex + length
,length
表示匹配的元素个数(也可理解为从后向前计数)。
如果省略endIndex参数,则一直选取到集合末尾。
返回值
slice()
函数的返回值为jQuery类型,返回一个新的jQuery对象,该对象封装了当前jQuery对象匹配的元素中索引从startIndex
到endIndex
(不包括endIndex
)的一段连续的元素。
如果选取范围无效,将返回空的jQuery对象。
slice()
函数并不会更改当前jQuery对象的元素匹配,选取的结果只反映在作为返回值的新的jQuery对象中。
示例&说明
请参考下面这段HTML演示代码:
<div id="n1">
<div id="n2">
<ul id="n3">
<li id="n4">item1</li>
<li id="n5" class="foo bar">item2</li>
<li id="n6">item3</li>
<li id="n7">item4</li>
<li id="n8">item5</li>
</ul>
</div>
</div>
以下jQuery示例代码用于演示slice()
函数的具体用法:
// 返回jQuery对象所有匹配元素的标识信息数组
// 每个元素形如:tagName或tagName#id(如果有id的话)
function getTagsInfo($doms){
return $doms.map(function(){
return this.tagName + (this.id ? "#" + this.id : "");
}).get();
}
/* $("li") 匹配n4、n5、n6、n7、n8这5个元素 */
var $li = $("li");
// 选取第2个元素
var $sub1 = $("li").slice( 1, 2);
document.writeln( getTagsInfo( $sub1 ) ); // LI#n5
// 选取第4、5个元素
var $sub2 = $("li").slice( 3 );
document.writeln( getTagsInfo( $sub2 ) ); // LI#n7,LI#n8
// 选取第1~4个元素
// startIndex = length + (-5) = 0,endIndex = length + (-1) = 4
var $sub3 = $("li").slice( -5, -1);
document.writeln( getTagsInfo( $sub3 ) ); // LI#n4,LI#n5,LI#n6,LI#n7
0 条评论
撰写评论