当前位置:  开发笔记 > 编程语言 > 正文

.end()函数在jQuery中做了什么?

如何解决《.end()函数在jQuery中做了什么?》经验,为你挑选了3个好方法。

我已经阅读了这个网页http://api.jquery.com/end/,但我仍然对.end()实际上做的事情一无所知.它是什么,你如何使用它?

我也正在阅读一本jQuery书,但它轻轻地釉了一下.end()并没有提供任何关于它的用途的例子.有人可以澄清吗?



1> meder omural..:
$("body").find("span").css("border", "2px red solid");

VS

$("body").find("span").end().css("border", "2px red solid");

在Firebug控制台中单独执行这些语句,并注意这些行为的不同之处.基本上,.end()告诉它在找到所有跨度后回到身体,并将边界应用于身体,而不是跨度.如果我们没有.end()那里,jQuery代码基本上表现正常并将其应用于body中.css()span元素.

BODY > SPAN > APPLY BORDER TO SPANS

随着end()它成为

BODY > SPAN > GO BACK TO BODY > APPLY BORDER TO BODY

find()是一个破坏性操作,意味着它会更改jquery对象数组中的元素.

$('body') 

我们当前的元素是身体

$('body').find('span') 

我们使用了一个破坏性的操作find(),它改变了我们的整个对象集合,在体内填充了跨度,体内不再在集合中

$('body').find('span').end() 

因为find是一个"破坏性"操作,它回复到我们之前.find(),基本上是un- do 或ctrl-Z是改变我们的jquery集合的最后一件事.



2> 小智..:

它基本上回到父集.例如:

$('.tree')
    .find('.branch')
        .find('.leaf')
        .addClass('tacks-onto-leaf')
        .end()
    .addClass('tacks-onto-branch')
    .end()
.addClass('tacks-onto-tree');


哇!除了视觉能力之外,缩进还有助于思维的逻辑能力

3> Skeolan..:

它将链式JQuery语句的"范围"退回到上一级别.

jQuery对象中的标签最初为[$('P')]:P,P

找到[$('P')后找到jQuery对象中的标签.找到('SPAN')]:SPAN,SPAN,SPAN,SPAN,SPAN

结束后jQuery对象中的标签[$('P').find('SPAN').end()]:P,P

$('span')              //all  tags in the doc
  .find('#foo')          //all  with id foo
    .addClass('blinkyRed') //adds class blinkyRed  
  .end()                 //reverts scope to all  tags
.addClass('Bold')      //adds class Bold to all  tags

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有