用法
.end() => jQuery
.end() => jQuery
说明:结束当前链中最近的过滤操作,并将匹配的元素集合返回到其先前的状态。
-
添加的版本:1.0
.end()
- 此方法不接受任何参数。
大多数 jQuery 的DOM traversal 方法对 jQuery 对象实例进行操作并生成一个新的对象实例,匹配一组不同的 DOM 元素。当这种情况发生时,就好像新的元素集被推到了一个在对象内部维护的堆栈上。每个连续的过滤方法都会将一个新元素集推入堆栈。如果我们需要一个较旧的元素集,我们可以使用end()
将集合从堆栈中弹出。
假设我们在一个页面上有几个简短的列表:
|
end()
方法主要在利用 jQuery 的链接属性时很有用。当不使用链接时,我们通常可以通过变量名调用前一个对象,因此我们不需要操作堆栈。但是,使用 end()
,我们可以将所有方法调用串在一起:
|
此链仅在第一个列表中搜索具有类foo
的项目并将其背景变为红色。然后 end()
将对象返回到调用 find()
之前的状态,因此第二个 find()
在 <ul class="first">
内查找 '.bar' ,而不仅仅是在该列表的 <li class="foo">
内查找,并转换匹配元素的背景绿色。最终结果是第一个列表的项目 1 和 3 具有彩色背景,而第二个列表中的所有项目都没有。
长 jQuery 链可以可视化为结构化代码块,过滤方法提供嵌套块的开口,end()
方法关闭它们:
|
最后一个end()
是不必要的,因为我们随后会立即丢弃 jQuery 对象。但是,当以这种形式编写代码时,end()
提供了视觉上的对称性和完成感——至少在一些开发人员看来,使程序更具可读性,但代价是性能会受到轻微影响这是一个额外的函数调用。
例子:
选择所有段落,在其中找到 span 元素,然后将选择恢复为段落。
|
演示:
选择所有段落,在其中找到 span 元素,然后将选择恢复为段落。
|
演示:
相关用法
- JQuery Mobile .enhanceWithin()用法及代码示例
- JQuery .empty()用法及代码示例
- JQuery UI .effect()用法及代码示例
- JQuery .each()用法及代码示例
- JQuery .error()用法及代码示例
- JQuery .even()用法及代码示例
- JQuery .eq()用法及代码示例
- JQuery .jquery用法及代码示例
- JQuery .scroll()用法及代码示例
- JQuery .add()用法及代码示例
- JQuery .contextmenu()用法及代码示例
- JQuery .undelegate()用法及代码示例
- JQuery .load()用法及代码示例
- JQuery .contents()用法及代码示例
- JQuery UI .labels()用法及代码示例
- JQuery UI .addClass()用法及代码示例
- JQuery .click()用法及代码示例
- JQuery UI .toggleClass()用法及代码示例
- JQuery .removeAttr()用法及代码示例
- JQuery .addClass()用法及代码示例
- JQuery UI .cssClip()用法及代码示例
- JQuery .next()用法及代码示例
- JQuery UI .hide()用法及代码示例
- JQuery .promise()用法及代码示例
- JQuery .trigger()用法及代码示例
注:本文由纯净天空筛选整理自jquery.com大神的英文原创作品 .end()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。