当前位置: 首页 > 中文手册 > jQuery.slice() 函数详解

jQuery.slice() 函数详解

slice()函数用于选取匹配元素中一段连续的元素,并以jQuery对象的形式返回。

该函数属于jQuery对象(实例)。

语法

jQuery 1.1.4 新增该函数。

jQueryObject.slice( startIndex [, endIndex ] )

参数

参数描述
startIndexInteger类型指定选取的起始索引,从0开始算起。
endIndex可选/Integer类型指定的结束索引(不包括该索引位置的元素)。

如果startIndex为负数,则表示startIndex + lengthlength表示匹配的元素个数(也可理解为从后向前计数)。

如果endIndex为负数,则表示endIndex + lengthlength表示匹配的元素个数(也可理解为从后向前计数)。

如果省略endIndex参数,则一直选取到集合末尾。

返回值

slice()函数的返回值为jQuery类型,返回一个新的jQuery对象,该对象封装了当前jQuery对象匹配的元素中索引从startIndexendIndex(不包括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

运行代码

25 3
我们认为: 用户的主要目的,是为了获取有用的信息,而不是来点击广告的。因此本站将竭力做好内容,并将广告和内容进行分离,确保所有广告不会影响到用户的正常阅读体验。用户仅凭个人意愿和兴趣爱好点击广告。
我们坚信:只有给用户带来价值,用户才会给我们以回报。
CodePlayer技术交流群1CodePlayer技术交流群1

帮朋友打一个硬广告:

P2P网贷系统(Java版本) 新年低价大促销,多年P2P技术积累,系统功能完善(可按需定制,可支持第三方存管、银行存管),架构稳定灵活、性能优异、二次开发快速简单。 另可提供二次开发、安装部署、售后维护、安全培训等一条龙服务。

外行看热闹,内行看门道。可以自信地认为,在系统设计上,比市面上的晓风、迪蒙、方维、绿麻雀、国融信、金和盛等P2P系统要好。
深圳地区支持自带技术人员现场考察源代码、了解主要技术架构,货比三家,再决定是否购买。

也可推荐他人购买,一旦完全成交,推荐人可获得实际售价 10% 的返现。
有意向者,详情请 点击这里 联系,工作时间立即回复。