gpt4 book ai didi

javascript - 创建 jQuery 集合的更好方法

转载 作者:行者123 更新时间:2023-11-28 21:13:25 26 4
gpt4 key购买 nike

我编写了一个像这样的插件来获取集合的子集:

jQuery.range = function(start, end, includingTheLast) {
var ret = $([]), i = 0;

while (!this.eq(i).is(start) && i < this.length)
i++;

for (; i < this.length && !this.eq(i).is(end); i++) {
ret = ret.add(this[i]); // we can do better than this
}
if (includingTheLast) ret = ret.add(this[i]); // we can do better than this
return this.pushStack(ret, 'range');
}

它的用法如下:

$('a').range(':eq(2)', '#stop')...

看看ret = ret.add(this[i])似乎很慢,这是一个聪明的方法吗?我应该构建一个数组然后将其转换为 jQuery 对象吗?这是微优化吗?

最佳答案

jQuery 构造函数还接受 DOM 元素数组并将它们包装在 jQuery 对象中。因此,如果您反对使用 .add,您可以将它们全部推送到一个数组(作为 dom 元素),然后一次包装整个内容。

我还没有运行性能测试来看看什么会更快。

引用:http://api.jquery.com/jQuery/

关于javascript - 创建 jQuery 集合的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8172501/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com