首页 > jQuery end()方法存在的意义?

jQuery end()方法存在的意义?

既然end()方法是为了取消链式调用的前一步,那我就不写那一步不就得了,请大家说说这个有什么妙用吗?还有例如jquery选择器和筛选也有重复功能的地方,设计出来干嘛?谢谢各位


其实就是写法而已,不写也是可以的,链式主要为了省事,也可以命名N个变量去操作。
例如你要把一个N层div里面的div下面的item-1、item-2、item-3、item-4、item-5里面的某曾的div设置成 红黄蓝绿紫色。。
你可以先选择定位到上面的div,然后去find里面的item-1,然后给里面的元素设定颜色。。然后复制5行。改不同的颜色。。

也可以用链式+end()操作。
先选择定位到上面的div,然后去find里面的item-1,然后改颜色,然后end();然后继续去find item-2,然后改颜色。。。一行写完~~~

其实一般我不用这种写。改起来不容易。宁肯长点可读性强点去压缩。。老外只是为了解决链式里面的某些问题去做的这个罢了


end不是为了取消链式调用的前一步, 而是终止在当前链的最新过滤操作,并返回匹配的元素的以前状态

$('ul.first').find('.foo').css('background-color', 'red').end()
// 加end()后返回$('ul.first'), 不加end(), 返回的是$('ul.first').find('.foo')
.find('.bar').css('background-color', 'green');

我见过关于end方法的奇淫巧技是,用于巧取如下t1元素中的文字内容‘Text2’:

<div id="t1">
    Text2
    <ul id="t3">
        <li id="t4">Text3</li>
    </ul>
</div>
$("#t1").clone().children().remove().end().text()

详情传送们

【热门文章】
【热门文章】