jQuery的slice()方法用于从匹配元素集合中选取基于索引的子集,返回一个新的jQuery对象。
该方法接受两个参数:
start(必需):指定开始选取元素的位置(基于0的索引)。如果为负数,则从集合末端开始计算
stop(可选):指定结束选取元素的位置。如果省略,则选取范围会延续到集合末端;如果为负数,同样从末端计算
基本使用示例
选取索引2开始的所有段落元素:
$("p").slice(2).css("background-color", "red");此操作会将第三个及之后的段落背景设为红色
选取索引0到2(不包括2)的元素:
$("p").slice(0, 2).wrapInner("");这会将第一和第二个段落的内容包装起来
使用负数索引
从集合末端开始选取元素:
$('li').slice(-2).css('background-color', 'red'); // 选取最后两个列表项
$('li').slice(-2, -1).css('background-color', 'red'); // 选取倒数第二个列表项负索引提供了从集合末尾反向选择的便利方式
与其他方法的关系
slice()是jQuery中的底层方法,为first()、last()和eq()等方法提供服务。例如:
first()相当于slice(0, 1)last()相当于slice(-1)eq(1)相当于slice(1, 2)
注意事项
该方法基于jQuery对象中的元素位置进行选取,而非DOM树中的位置。
使用slice()后,可以通过链式调用继续应用其他jQuery方法。