jQuery中的end()的定义与用法

转自:微点阅读   https://www.weidianyuedu.com

定义和用法

end() 方法结束当前链条中的最近的筛选操作,并将匹配元素集还原为之前的状态。

以上是官方说法,比较难理解。

还是用一个例子来说明

<!DOCTYPE html>

<html>

<head>

<style>p {margin:10px; padding:10px;}</style>

<script type="text/javascript"src="/jquery/jquery.js"></script>

</head>

<body>

<p><span>Hello</span>,how are you?</p>

<script>$("p").find("span").end().css("border","2px redsolid");</script>

</body>

</html>

$("p").find("span")表示查找P元素下的SPAN元素

但是我想更改P的边框,这时我就要返回到P元素(即从SPAN返回到P,就是还原为之前的状态)

$("p").find("span").end()这个语句就返回来了。

$("p").find("span").end().css("border","2px red solid")把P的边框设置了。

-------------------

对于end()方法,jQuery文档是这样解释的:jQuery回到最近的一个"破坏性"操作 之前。即:将匹配的元素列表变为前一次的状态。

但给的例子并不是很明显,相信不少人并没有理解它的用法。

下边我们以一个非常简单的例子来说明下用法,html代码如下:

<divid="test">

<h1>jQueryend()方法</h1>

<p>讲解jQuery中end()方法。</p>

</div>

JS代码:

$(document).ready(function(){

$("#test").click(function(){

$(this).find("p").hide().end().hide();

});

});

点击id为test的div时,首先找到div里边的p标签,将其隐藏。接下来使用end()方法结束了对p标签的引用,此时返回的是#test(jQuery对象),从而后边的hide()方法隐藏了div。这样相信大家已经理解了jQuery中end()方法。

----------------------

<script type="text/javascript"src="jquery.js"></script>

<script type="text/javascript">

<!--

$(function(){

$("<input type="button" value="click me"/><input type="button" value="triggleclick me" /><input type="button"value="detach handle" /><inputtype="button" value="show/hide text"/>").appendTo($("body"));

$("input[type="button"]").eq(0).click(function(){

alert("youclicked me!");

})

.end().eq(1).click(function(){

$("input[type="button"]:eq(0)").trigger("click");

})

.end().eq(2).click(function(){

$("input[typw="button"]:eq(0)").unbind("click");

})

.end().eq(3).toggle(function(){

$(".panel").hide("slow");

},function(){

$(".panel").show("slow");

});

})

//-->

</script>

<style type="text/css">

.panel{

padding:20px;

background-color:#000066;

color:#FFFFFF;

font-weight:bold;

width:200px;

height:50px;

}

</style>

<div class="panel">welcome tojQuery!</div>

THE END
< <上一篇
下一篇>>