Heim  >  Artikel  >  Web-Frontend  >  关于jQuery中的end()使用方法_jquery

关于jQuery中的end()使用方法_jquery

WBOY
WBOYOriginal
2016-05-16 18:05:081239Durchsuche

在官方的API上是这样描述end()方法的:“回到最近的一个"破坏性"操作之前。即,将匹配的元素列表变为前一次的状态。”;
看样子好像是找到最后一次操作的元素的上一元素,在如下的例子中:
html代码:

复制代码 代码如下:

测试内容1

测试内容2


jQuery代码:
复制代码 代码如下:

$('

新增内容

').appendTo('div').addClass('c1').end().addClass('c2');

得到的结果是:
复制代码 代码如下:

测试内容1

新增内容


测试内容2

新增内容



这里我就有一点不太明白了,怎么只有第一个

标签有两个样式,end()方法后返回的是什么,在火狐里添加了监控,得到如下结果:
1.$('

新增内容

').appendTo('div')返回的是:[p,p]对象数组,即新增后的两个p标签;
2.$('

新增内容

').appendTo('div').addClass('c1')返回的是:[p.c1,p.c1]对象数组,即添加了c1类样式后的p对象数组;
3.$('

新增内容

').appendTo('div').addClass('c1').end()返回的是[p.c1],是第1个
中的

,在2操作中,最后“破坏”的是第2个

中的

,所以他的前一次操作的对象是第1个

中的

,返回的就是它;
4.$('

新增内容

').appendTo('div').addClass('c1').end().addClass('c2')返回的仍然是第1个
中的

;
现在算是有点明白了,关键是要搞清楚最后一次操作的元素的上一元素是什么。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn