最近在学习jQuery方面的知识,对end()方法感到怪怪的,在jQuery官方的API上是这样描述end()方法的:
回到最近的一个"破坏性"操作之前。即,将匹配的元素列表变为前一次的状态。
官方给的例子并不是很明显,不能很好的理解end方法。
下面是找来的一个例子.
html代码:
<div>内容1</div><div>内容2</div>
jQuery代码:
$(‘<p>新增内容</p>‘).appendTo(‘div’).addClass(‘c1′).end().addClass(‘c2′);
下面是得到的结果:
<div>内容1 <p class="c1 c2">新增内容</p></div>
<div>内容2 <p class="c1">新增内容</p></div>
<div>内容2 <p class="c1">新增内容</p></div>
end方法关键是要搞清楚最后一次操作的元素的上一元素是什么,官方所谓的"破坏性"就是指任何改变所匹配的jQuery元素的操作,感觉有点类似于undo操作。
上面一长串jQuery代码是jQuery链式操作方式,这也是jQuery最具特色的地方,传说这一特点使得jQuery的代码无比优雅,不过说实话,JS是目前我见过最丑陋的语言了。