理解JQuery选择器

时间:2013-06-04 13:10:33

标签: jquery

您好,

有什么区别:

  $('li:first').css('background-color', 'red');

  $('li').first().css('background-color', 'red');

谢谢!

3 个答案:

答案 0 :(得分:5)

他们都将执行相同的操作。

第二个将所有<li>标签收集到一个jQuery对象中,然后在一个单独的jQuery对象中检索第一个。 如果您有许多<li>标签,那可能会很慢。

另一方面,第一个将无法使用querySelectorAll()(因为没有:first CSS选择器),所以它也可能更慢。

答案 1 :(得分:1)

主要的不同之处在于第一次操作的回调是什么。

$('li:first')要么带回第一项,要么不带回(如果没有找到)。

$('li').first()将带回所有 <li> 项,然后选择列表中的第一项,以便您继续操作。

性能方面,他们可能都有相同的影响,所以这是一个偏好和风格的问题。

答案 2 :(得分:1)

li:首先是jquery的直接选择器 li.first()。 - 您正在使用jquery方法选择子元素。