.slice( start [, end ] )返回: jQuery
描述: 根据指定的下标范围,过滤匹配的元素集合,并生成一个新的 jQuery 对象。
- 
添加的版本: 1.1.4.slice( start [, end ] )
 
如果提供的jQuery代表了一组DOM元素,.slice()方法从匹配元素的子集中构造一个新的jQuery对象。所提供的start索引标识的设置一个集合中的元素的位置;如果end被省略,这个元素之后的所有元素将包含在结果中。
考虑一个页上有一个简单的列表:
| 
          
             1 
          
            2 
          
            3 
          
            4 
          
            5 
          
            6 
          
            7 
          
         | 
        
          
  | 
      
我们可以应用此方法到列表集合:
| 
          
             1 
          
         | 
        
          
  | 
      
上述代码的执行结果是,第 3,4,5 项列表项的背景色变成了红色。注意,索引是从 0 开始计数的,并且代表的是 jQuery 对象中的元素位置,而不是在 DOM 树中的位置。
end 参数允许我们进一步限制所选择的元素。例如:
| 
          
             1 
          
         | 
        
          
  | 
      
现在,只有第 3 和第 4 项列表项会被选中。索引依然是从 0 开始计数的,但是在被选中的元素中不包括 end 参数所指定的元素。
Negative Indices(负索引)
jQuery的.slice()方法是仿照的JavaScript 数组的.slice()方法。其中的一个功能就是允许传入负的 start 和 end 参数。如果传递的是负数,那么下标位置是从结尾开始的,而不是从起始位置开始。例如:
| 
          
             1 
          
         | 
        
          
  | 
      
这一次只有项4是变成了红色,因为它是唯一满足条件的列表项,即被选中的元素是从倒数第二个元素(-2)开始到最后一个元素(-1 )(不含此元素)之间的元素。
例子:
Example: 将随机选中的范围内的 div 变成黄色。
| 
          
             1 
          
            2 
          
            3 
          
            4 
          
            5 
          
            6 
          
            7 
          
            8 
          
            9 
          
            10 
          
            11 
          
            12 
          
            13 
          
            14 
          
            15 
          
            16 
          
            17 
          
            18 
          
            19 
          
            20 
          
            21 
          
            22 
          
            23 
          
            24 
          
            25 
          
            26 
          
            27 
          
            28 
          
            29 
          
            30 
          
            31 
          
            32 
          
            33 
          
            34 
          
            35 
          
            36 
          
            37 
          
            38 
          
            39 
          
            40 
          
            41 
          
            42 
          
            43 
          
            44 
          
            45 
          
            46 
          
            47 
          
            48 
          
            49 
          
            50 
          
         | 
        
          
  | 
      
Demo:
Example: 假设共有三个段落,选择所有的段落,并进行 slice 操作,选择的范围只包含第一个元素。
| 
          
             1 
          
         | 
        
          
  | 
      
Example: 假设共有三个段落,选择所有的段落,并进行 slice 操作,选择的范围只包含第一个和第二个元素。
| 
          
             1 
          
         | 
        
          
  | 
      
Example: 假设共有三个段落,选择所有的段落,并进行 slice 操作,选择的范围只包含第二个元素。
| 
          
             1 
          
         | 
        
          
  | 
      
Example: 假设共有三个段落,选择所有的段落,并进行 slice 操作,选择的范围只包含第二个和第三个元素。
| 
          
             1 
          
         | 
        
          
  | 
      
Example: 假设共有三个段落,选择所有的段落,并进行 slice 操作,选择的范围只包含第三个元素。
| 
          
             1 
          
         | 
        
          
  |