.eq()和.get()之间的区别和:nth-​​child()?

时间:2013-02-27 04:04:16

标签: jquery function events

我最近一直在寻求优化我的编码,以便更整洁,更清洁,更紧凑,我在路上遇到了一点点。

我不能100%确定我应该使用.eq()之类的功能而不是.get():nth-child()

使用一个优于另一个的好处是什么,例如,最好的说法,重复发生的事件或多个功能,或者只是一个使用功能等。我可以阅读使用他们在某些事件中但只有来源只告诉我这么多,甚至在某些情况下有人可能会使用一个而另一个来源将使用另一个但是做同样的事情。

这是我需要澄清的“灰色”区域。

1 个答案:

答案 0 :(得分:6)

  • .eq(n)检索n-1 th jQuery对象
  • .get(n)检索n-1 th DOM元素。这就像做.eq(n)[0]
  • :nth-child()适用于更复杂的选择器,例如:nth-child(2n+1)

    可以在选择器字符串中使用它代替:eq(),但我倾向于远离它并使用.eq()使选择器更具可读性:

    $('ul.parent > li.child:nth-child(2)')
    $('ul.parent > li.child:eq(2)')
    $('ul.parent > li.child').eq(2)