- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不确定是否使用 :first
或:eq(0)
在选择器中。我很确定它们总是返回相同的对象,但是其中一个比另一个更快吗?
我确信这里有人一定之前对这些选择器进行了基准测试,但我不确定测试一个选择器是否更快的最佳方法。
更新:这是我跑的板凳:
/* start bench */
for (var count = 0; count < 5; count++) {
var i = 0, limit = 10000;
var start, end;
start = new Date();
for (i = 0; i < limit; i++) {
var $radeditor = $thisFrame.parents("div.RadEditor.Telerik:eq(0)");
}
end = new Date();
alert("div.RadEditor.Telerik:eq(0) : " + (end-start));
var start = new Date();
for (i = 0; i < limit; i++) {
var $radeditor = $thisFrame.parents("div.RadEditor.Telerik:first");
}
end = new Date();
alert("div.RadEditor.Telerik:first : " + (end-start));
start = new Date();
for (i = 0; i < limit; i++) {
var radeditor = $thisFrame.parents("div.RadEditor.Telerik")[0];
}
end = new Date();
alert("(div.RadEditor.Telerik)[0] : " + (end-start));
start = new Date();
for (i = 0; i < limit; i++) {
var $radeditor = $($thisFrame.parents("div.RadEditor.Telerik")[0]);
}
end = new Date();
alert("$((div.RadEditor.Telerik)[0]) : " + (end-start));
}
/* end bench */
我认为第三个是最快的,第四个是最慢的,但这是我得出的结果:
FF3: :eq(0) :first [0] $([0])
trial1 5275 4360 4107 3910
trial2 5175 5231 3916 4134
trial3 5317 5589 4670 4350
trial4 5754 4829 3988 4610
trial5 4771 6019 4669 4803
Average 5258.4 5205.6 4270 4361.4
IE6: :eq(0) :first [0] $([0])
trial1 13796 15733 12202 14014
trial2 14186 13905 12749 11546
trial3 12249 14281 13421 12109
trial4 14984 15015 11718 13421
trial5 16015 13187 11578 10984
Average 14246 14424.2 12333.6 12414.8
我关于返回第一个原生 DOM 对象是最快的 ([0]
) 是正确的,但我不敢相信在 jQuery 函数中包装该对象比两个 :first
和 :eq(0)
!
除非我做错了。
最佳答案
根据jQuery的源代码,.first()
只是 .eq(0)
的便捷包装:
first: function() {
return this.eq( 0 );
},
自JQuery/3.6.0起仍然如此。 .
关于jquery - 是 jQuery 的 :first and :eq(0) selectors functionally equivalent?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1234087/
我需要一个正则表达式,它只会选择那些不以 .png 或 .css 等特定扩展名结尾的 URL 字符串。 我测试了以下内容: 1)这个使用负回顾: (? SetHandler "proxy:un
我似乎无法确切地掌握名称的等效性。我很确定我的结构已经下降。我的教授给出的一个例子是: Type TI=integer Type TTI=TI a=integer b=TTI f= ref
我最近为问题“A Regex that will never be matched by anything ”( my answer here ,请参阅更多信息)计时了一堆正则表达式。 然而,在我测试
Clojure 为 提供方法懒惰评估 (无限)序列中的值。有了这个,值只会在它们被实际消耗时计算。 一个重复元素的无限序列示例: (take 3 (repeat "Hello StackOverflo
如果我使用文本文件在 Solr/Lucene 中定义同义词,如下所示: foo, bar, goo abc, bar, xyz 字bar在两条线上。 这是否意味着 Solr 将所有术语都视为同义词,因
在 Xcode 中,当您设置键盘快捷键时,有一个很好的控件可以帮助您: 我觉得我可以通过扩展 NSTextField 来重现它,但我也觉得这可能是其他人以前做过的事情。我做了一些搜索,但没有找到任何结
我对汇编语言有点陌生,很难理解术语“字节等效”。 它用于以下上下文:- MOV 指令有时会引起歧义。例如,查看以下语句: MOV EBX, [MY_TABLE] ; Effective Addre
这是一个“软性问题”,因此,如果此发布地点不合适,请告诉我。 本质上,我想知道如何谈论在某种意义上“等效”而在另一些意义上“不同”的算法。 这是一个玩具示例。假设我们得到了一个长度为list的数字n的
我(在 Protege 中)定义了一个 Missing 类,它相当于 ((not (atHome value 30)) and (not (atWork value 30)))and (not (on
我正在处理一个烦人的数据库,其中一个字段包含真正应该存储在两个单独字段中的内容。因此该列存储的内容类似于“第一个字符串~@~第二个字符串”,其中“~@~”是分隔符。 (再说一次,我没有设计这个,我只是
在 Django 中,这两个是等价的吗? Cars.objects.exclude(brand='mercedes').exclude(year__lte=2000) 和 Cars.objects.e
此代码行选择任何类名不是“id”和“quantity”的 div 内的所有子输入:: $("div.item > div:not(.id,.quantity) > :input").live("key
在 Vue 1.x 中,我使用以下指令直接选择一个节点。 然后: this.$els.visibleColumns 是否有 Vue 2.x 方法来做到这一点? 最佳答案 当然,所以它已被 ref/$
我在underscore.js源码中看到了这段代码: if ((!a && b) || (a && !b)) return false; 这是否等同于以下内容? if (a ^ b) return f
我需要一些关于批处理文件中 grep -v Wildcard 和 grep -o 的等效代码的帮助。 这是我在 shell 中的代码。 result=`mysqlshow --user=$dbUser
我试图在 SQL 中找到等同于 IN\NOT 的 ElasticSearch 查询。 我知道我们可以使用带有多个 OR 的 QueryString 查询来获得相同的答案,但最终会得到很多 OR。 谁能
On a separate post , 我在帮忙George Edwards使用 BLE API 分解一些代码. 我很确定我发布的代码(使用分解模板)与原始代码相同。但是当 George 将它发送到
是否有办法“模仿”background-size:cover; 的行为? (参见 http://www.w3schools.com/cssref/playit.asp?filename=playcss
我正在使用 Qt。我需要直接向我的打印机写入一些文本。在 Windows 上,我可以使用 winapi OpenPrinter 和 WritePrinter 执行此操作,但我需要此代码才能在 linu
我搜索过并使用过 UIDevice.currentDevice().instancesRespondToSelector(Selector("userInterfaceIdiom")) 但对我不起作用
我是一名优秀的程序员,十分优秀!