使用$(“body”)选择器时我应该使用.eq(0)吗?

时间:2012-09-19 15:14:01

标签: jquery

当我在jQuery对象中引用body标签时,使用.eq(0)过滤器是否有任何好处(性能或其他方面)?例如: $(“body”)。eq(0),而不仅仅是 $(“body”)

2 个答案:

答案 0 :(得分:3)

没有$("body")应该做得很好.. eq(0)只是选择第一个元素,如果它只有一个元素开头就不会有任何区别。

$('body')$('body').eq(0)具有相同的结构,但.eq只是一个额外的电话。

.eq功能实现

function (i) {
    i = +i;
    return i === -1 ? this.slice(i) : this.slice(i, i + 1);
}

如您所见,当您只有一个元素时,执行eq是没有意义的。

答案 1 :(得分:0)

没有它没有任何区别,相反,对元素有一个额外的调用,jquery再次构造相同的元素。如果性能是任何考虑因素,这将是一个开销。