0

你好,

有什么区别:

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

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

谢谢!

4

3 回答 3

5

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

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

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

于 2013-06-04T13:11:22.583 回答
1

主要区别在于在第一次调用操作时带回了什么。

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

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

就性能而言,它们可能都具有相同的影响,因此这是偏好和风格的问题。

于 2013-06-04T13:14:42.220 回答
1

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

于 2013-06-04T13:15:06.250 回答