jquery end
jQuery 的 .end() 方法
jQuery 的 .end() 方法用于结束当前链式操作中最近的一次筛选操作,并将匹配的元素集合返回到之前的状态。它通常用于链式操作中,用于撤销某些筛选或遍历操作,恢复之前的选择。
使用场景
.end() 方法在需要临时修改元素集合,但之后又希望恢复原始集合时非常有用。例如,在链式操作中,可以先筛选某些元素,执行操作后,再恢复原始集合继续操作。
示例代码
// 原始选择所有 div 元素
$('div')
// 筛选出带有 class 'example' 的 div
.find('.example')
// 对这些元素执行操作
.css('color', 'red')
// 使用 .end() 恢复原始集合(所有 div)
.end()
// 对所有 div 执行操作
.css('background', 'yellow');
工作原理
.end() 方法会弹出 jQuery 的“堆栈”中最近的一次操作,恢复到之前的状态。在链式操作中,每次筛选或遍历操作都会将当前集合压入堆栈,.end() 则用于弹出堆栈,恢复之前的集合。
注意事项
.end()只能恢复最近的一次操作,不能跳过多个操作恢复更早的状态。- 如果没有可恢复的操作,
.end()不会产生任何效果。 - 在复杂的链式操作中,合理使用
.end()可以避免重复选择元素,提高代码效率。
实际应用
// 选择所有段落
$('p')
// 筛选出第一个段落
.first()
// 修改其颜色
.css('color', 'blue')
// 恢复所有段落
.end()
// 修改所有段落的字体大小
.css('font-size', '16px');
总结
.end() 是 jQuery 链式操作中的一个实用方法,用于临时修改元素集合后恢复原始状态。合理使用它可以简化代码并提高效率。







