# jQuery 遍历 - slice() 方法
## 实例
选中所有段落,然后将所选内容缩减为只包含第一和第二个段落:
```
$("p").slice(0, 2).wrapInner("");
```
## 定义和用法
slice() 把匹配元素集合缩减为指定的指数范围的子集。
### 语法
```
.slice(_selector_,_end_)
```
| 参数 | 描述 |
| --- | --- |
| _selector_ | 基于 0 的整数值,指示开始选取元素的位置。如果是负数,则指示从集合末端开始的偏移量。 |
| _end_ | 基于 0 的整数值,指示结束选取元素的位置。如果是负数,则指示从集合末端开始的偏移量。如果省略,则选取范围会在集合末端结束。 |
### 详细说明
如果给定一个表示 DOM 元素集合的 jQuery 对象,.slice() 方法用匹配元素的子集构造一个新的 jQuery 对象。已应用的 index 参数集合中其中一个元素的位置;如果省略 end 参数,则 index 之后的所有的所有元素都会包含在结果中。
请思考这个带有简单列表的页面:
```
<ul>
<li>list item 1</li>
<li>list item 2</li>
<li>list item 3</li>
<li>list item 4</li>
<li>list item 5</li>
</ul>
```
我们可以向列表项集合应用该方法:
```
$('li').slice(2).css('background-color', 'red');
```
此次调用的结果是项目 3、4 和 5 的背景被设置为红色。请注意,已应用的 index 参数基于零,引用的是 jQuery 对象中元素的位置,而非 DOM 树中的。
end 参数允许我们更进一步地限制选取范围。比如:
```
$('li').slice(2, 4).css('background-color', 'red');
```
现在,只有项目 3 和 4 会被选取。再次说明,index 是基于零的;范围会延伸到(但不包含)指定的 index。
### 负的指数
jQuery 的 .slice() 方法模仿了 JavaScript 数组对象的 .slice() 方法。它所模仿的特性之一是向 start 或 end 参数传递负数的能力。如果提供负数,则指示的是从集合结尾开始的一个位置,而非从开头。例如:
```
$('li').slice(-2, -1).css('background-color', 'red');
```
这次,只有列表项 4 会变红,这是因为该项目是介于从结尾计数的二 (-2) 与从结尾计数的一 (-1) 的之间的范围中的唯一项目。
- jQuery 参考手册 - 选择器
- jQuery 参考手册 - 事件
- jQuery 事件 - bind() 方法
- jQuery 事件 - blur() 方法
- jQuery 事件 - change() 方法
- jQuery 事件 - click() 方法
- jQuery 事件 - dblclick() 方法
- jQuery 事件 - delegate() 方法
- jQuery 事件 - die() 方法
- jQuery 事件 - error() 方法
- jQuery 事件 - isDefaultPrevented() 方法
- jQuery 事件 - pageX 属性
- jQuery 事件 - pageY 属性
- jQuery 事件 - preventDefault() 方法
- jQuery 事件 - result 属性
- jQuery 事件 - target 属性
- jQuery 事件 - timeStamp 属性
- jQuery 事件 - type 属性
- jQuery 事件 - which 属性
- jQuery 事件 - focus() 方法
- jQuery 事件 - keydown() 方法
- jQuery 事件 - keypress() 方法
- jQuery 事件 - keyup() 方法
- jQuery 事件 - live() 方法
- jQuery 事件 - load() 方法
- jQuery 事件 - mousedown() 方法
- jQuery 事件 - mouseenter() 方法
- jQuery 事件 - mouseleave() 方法
- jQuery 事件 - mousemove() 方法
- jQuery 事件 - mouseout() 方法
- jQuery 事件 - mouseover() 方法
- jQuery 事件 - mouseup() 方法
- jQuery 事件 - one() 方法
- jQuery 事件 - ready() 方法
- jQuery 事件 - resize() 方法
- jQuery 事件 - scroll() 方法
- jQuery 事件 - select() 方法
- jQuery 事件 - submit() 方法
- jQuery 事件 - toggle() 方法
- jQuery 事件 - trigger() 方法
- jQuery 事件 - triggerHandler() 方法
- jQuery 事件 - unbind() 方法
- jQuery 事件 - undelegate() 方法
- jQuery 事件 - unload 属性
- jQuery 参考手册 - 效果
- jQuery 效果 - animate() 方法
- jQuery 效果 - clearQueue() 方法
- jQuery 效果 - fadeIn() 方法
- jQuery 效果 - fadeOut() 方法
- jQuery 效果 - fadeTo() 方法
- jQuery 效果 - hide() 方法
- jQuery 效果 - show() 方法
- jQuery 效果 - slideDown() 方法
- jQuery 效果 - slideToggle() 方法
- jQuery 效果 - slideUp() 方法
- jQuery 效果 - stop() 方法
- jQuery 效果 - toggle() 方法
- jQuery 参考手册 - 文档操作
- jQuery 属性操作 - addClass() 方法
- jQuery 文档操作 - after() 方法
- jQuery 文档操作 - append() 方法
- jQuery 文档操作 - appendTo() 方法
- jQuery 属性操作 - attr() 方法
- jQuery 文档操作 - before() 方法
- jQuery 文档操作 - clone() 方法
- jQuery 文档操作 - detach() 方法
- jQuery 文档操作 - empty() 方法
- jQuery 属性操作 - hasClass() 方法
- jQuery 文档操作 - html() 方法
- jQuery 文档操作 - insertAfter() 方法
- jQuery 文档操作 - insertBefore() 方法
- jQuery 文档操作 - prepend() 方法
- jQuery 文档操作 - prependTo() 方法
- jQuery 文档操作 - remove() 方法
- jQuery 属性操作 - removeAttr() 方法
- jQuery 属性操作 - removeClass() 方法
- jQuery 文档操作 - replaceAll() 方法
- jQuery 文档操作 - replaceWith() 方法
- jQuery 文档操作 - text() 方法
- jQuery 属性操作 - toggleClass() 方法
- jQuery 文档操作 - unwrap() 方法
- jQuery 属性操作 - val() 方法
- jQuery 文档操作 - wrap() 方法
- jQuery 文档操作 - wrapAll() 方法
- jQuery 文档操作 - wrapInner() 方法
- jQuery 参考手册 - 属性操作
- jQuery 参考手册 - CSS 操作
- jQuery CSS 操作 - css() 方法
- jQuery CSS 操作 - height() 方法
- jQuery CSS 操作 - offset() 方法
- jQuery CSS 操作 - offsetParent() 方法
- jQuery CSS 操作 - position() 方法
- jQuery CSS 操作 - scrollLeft() 方法
- jQuery CSS 操作 - scrollTop() 方法
- jQuery CSS 操作 - width() 方法
- jQuery 参考手册 - Ajax
- jQuery ajax - ajax() 方法
- jQuery ajax - ajaxComplete() 方法
- jQuery ajax - ajaxError() 方法
- jQuery ajax - ajaxSend() 方法
- jQuery ajax - ajaxSetup() 方法
- jQuery ajax - ajaxStart() 方法
- jQuery ajax - ajaxStop() 方法
- jQuery ajax - ajaxSuccess() 方法
- jQuery ajax - get() 方法
- jQuery ajax - getJSON() 方法
- jQuery ajax - getScript() 方法
- jQuery ajax - load() 方法
- jQuery ajax - param() 方法
- jQuery ajax - post() 方法
- jQuery ajax - serialize() 方法
- jQuery ajax - serializeArray() 方法
- jQuery 参考手册 - 遍历
- jQuery 遍历 - add() 方法
- jQuery 遍历 - andSelf() 方法
- jQuery 遍历 - children() 方法
- jQuery 遍历 - closest() 方法
- jQuery 遍历 - contents() 方法
- jQuery 遍历 - each() 方法
- jQuery 遍历 - end() 方法
- jQuery 遍历 - eq() 方法
- jQuery 遍历 - filter() 方法
- jQuery 遍历 - find() 方法
- jQuery 遍历 - first() 方法
- jQuery 遍历 - has() 方法
- jQuery 遍历 - is() 方法
- jQuery 遍历 - last() 方法
- jQuery 遍历 - map() 方法
- jQuery 遍历 - next() 方法
- jQuery 遍历 - nextAll() 方法
- jQuery 遍历 - nextUntil() 方法
- jQuery 遍历 - not() 方法
- jQuery 遍历 - offsetParent() 方法
- jQuery 遍历 - parent() 方法
- jQuery 遍历 - parents() 方法
- jQuery 遍历 - parentsUntil() 方法
- jQuery 遍历 - prev() 方法
- jQuery 遍历 - prevAll() 方法
- jQuery 遍历 - prevUntil() 方法
- jQuery 遍历 - siblings() 方法
- jQuery 遍历 - slice() 方法
- jQuery 参考手册 - 数据
- jQuery 遍历 - clearQueue() 方法
- jQuery 数据 - data() 方法
- jQuery 数据 - jQuery.data() 方法
- jQuery 遍历 - dequeue() 方法
- jQuery 遍历 - jQuery.dequeue() 方法
- jQuery 遍历 - hasData() 方法
- jQuery 遍历 - queue() 方法
- jQuery 遍历 - jQuery.queue() 方法
- jQuery 数据 - removeData() 方法
- jQuery 数据 - jQuery.removeData() 方法
- jQuery 参考手册 - DOM 元素方法
- jQuery DOM 元素方法 - get() 方法
- jQuery DOM 元素方法 - index() 方法
- jQuery DOM 元素方法 - size() 方法
- jQuery DOM 元素方法 - toArray() 方法
- jQuery 参考手册 - 核心
- jQuery 核心 - jQuery() 方法
- jQuery 核心 - noConflict() 方法
- jQuery 参考手册 - 属性
- jQuery context 属性
- jQuery jquery 属性
- jQuery jQuery.fx.interval 属性
- jQuery jQuery.fx.off 属性
- jQuery jQuery.support 属性
- jQuery length 属性
- 免责声明