jQuery.end() 函数

2018-11-23 16:53 更新

jQuery.end() 函数

jQuery 选择器 jQuery 选择器


定义和用法

end()函数用于返回最近一次"破坏性"操作之前的jQuery对象

当前jQuery对象可能是通过调用之前的jQuery对象的特定方法创建的,使用该函数可以返回之前的jQuery对象。

该函数属于jQuery对象(实例)。


语法

jQueryObject.end( )

返回值

end()函数的返回值为jQuery类型,返回最近一次"破坏性"操作之前的jQuery对象。

只要调用jQuery对象的某个方法返回的是一个新创建的jQuery对象,则该操作被视为"过滤"操作或"破坏性"操作。jQuery对象的add()、 addBack()、 andSelf()children()closest()contents()eq()find() 、 first()、 has()、 last()map()next()nextAll()nextUntil()not()parent()parents()parentsUntil()prev()prevAll()prevUntil()siblings()slice() 等方法均属于"破坏性"操作。


实例

实例

以下面这段代码为例:

/* HTML代码 */
<p id="n1">
    <span id="n2">A
        <span id="n3">B</span>
    </span>
    <span id="n4">C
        <label id="n5">D</label>        
    </span>
</p>

/* jQuery代码 */
<script>
var $p = $("p");
//这是一个破坏性操作,返回一个新的jQuery对象
var $p_span = $p.find("span");
document.writeln( $p_span.end() === $p ); // true

//这不是一个破坏性操作,css()和attr()返回的都是原jQuery对象,并没有创建一个新的jQuery对象
var $me = $p.css("color", "#333").attr("uid", "12");
document.writeln( $me.end() === $p ); // false
// $me和$p是同一个jQuery对象
document.writeln( $me === $p ); // true

var $span = $("span");
// 这是一个破坏性操作,虽然没有过滤掉任何元素,但返回的是一个新的jQuery对象
var $newSpan = $span.not(".foo");
document.writeln( $newSpan.end() === $span ); // true

// 如果之前没有破坏性操作,可能返回包含document的jQuery对象或空的jQuery对象(视具体情况而定)
document.writeln( $("label").end().length ); // 1 (document对象)
document.writeln( $("#n1").end().length ); // 0
</script>

尝试一下 »

点击 "尝试一下" 按钮查看在线实例


jQuery 选择器 jQuery 选择器

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号