您好,
有什么区别:
$('li:first').css('background-color', 'red');
和
$('li').first().css('background-color', 'red');
谢谢!
答案 0 :(得分:5)
他们都将执行相同的操作。
第二个将所有<li>
标签收集到一个jQuery对象中,然后在一个单独的jQuery对象中检索第一个。
如果您有许多<li>
标签,那可能会很慢。
另一方面,第一个将无法使用querySelectorAll()
(因为没有:first
CSS选择器),所以它也可能更慢。
答案 1 :(得分:1)
主要的不同之处在于第一次操作的回调是什么。
$('li:first')
要么带回第一项,要么不带回(如果没有找到)。
$('li').first()
将带回所有 <li>
项,然后选择列表中的第一项,以便您继续操作。
性能方面,他们可能都有相同的影响,所以这是一个偏好和风格的问题。
答案 2 :(得分:1)
li:首先是jquery的直接选择器 li.first()。 - 您正在使用jquery方法选择子元素。