在jquery中使用“:eq”和“.eq()”的位置

时间:2014-03-27 16:09:06

标签: jquery

如果:eq().eq()具有相同的功能,为什么还有两种方法。 有什么目的吗?

OR

在哪里使用:eq()

在哪里使用.eq()

2 个答案:

答案 0 :(得分:3)

http://jsperf.com/eq-vs-eq

他们都做同样的事情。除了一个慢一点。 (:eq

如果您担心效果,请使用.eq()

正如Smeegs在评论中所说,:eq是选择器的一部分。这意味着可以在它之后添加更多。例如

$('#test li:eq(1) span');

答案 1 :(得分:1)

主要区别(性能除外)是用法。

一个是选择器,一个是方法。

例如,这里有两个基本相同的例子。

$('#test li:eq(1) span');正在使用:eq()作为选择器的一部分

$('#test li').eq(1).find("span");正在使用.eq()作为方法并在返回的jquery对象上运行find。

除了性能命中之外,首选项取决于开发人员。在我看来,第一个更具可读性,但在没有必要找到span的情况下,我会选择第二个。