使用eq(0)和不使用它之间的区别

时间:2016-03-25 20:34:41

标签: javascript jquery jquery-selectors

当我想在具有类.pizza的单个元素上运行jQuery函数时,我这样做:

$('.pizza').hide();

使用first() or eq(0)之间有什么区别?

$('.pizza').eq(0).hide();

我的问题是因为我想将元素缓存到变量中以多次使用它,我不知道这是否是更好的做法:

var element_pizza=$('.pizza').eq(0);

或者只是简单地说:

var element_pizza=$('.pizza');

注意:当我指的是单个元素时,我的意思是DOM中只有一个带有class pizza的元素。

感谢您的时间。

1 个答案:

答案 0 :(得分:5)

当集合仅包含一个匹配时没有区别。

使用DataSource只能从一个集合中选择一个特定匹配。如果集合有一个元素,那么它们将是等价的。

事实上,如果集合包含一个元素,那么使用.eq()是一种浪费,因为这会导致创建一个新的jQuery对象。