:last 与 :last-child 选择器

Mys*_*cal 4 jquery jquery-selectors

我注意到这$( 'filter:last' )$( 'filter:last-child' )jQuery不同。

我尝试了 jQuery 文档,但很难理解:last它们的其他用途以及它们存在的原因。

显然,:last是一个 jQuery 扩展,而不是在 CSS 规范中。所以,我想到了它与传统:last-child. 另外,.last()jQuery 中碰巧有一个方法据说比 更有效$( 'filter:last' ),那么:last选择器有什么用呢?

小智 6

它们非常相似。不同之处在于,如果你有类似的东西

<div>
  <p>hi</p>
  <p>bye</p>
</div>
<div>
  <p>hi</p>
  <p>bye</p>
</div>
Run Code Online (Sandbox Code Playgroud)

$('p:last-child')将选择两个<p>bye</p>元素,而$('p:last')将只选择第二个。同样的事情也可以用 来完成$('p').last(),通过添加:last一个选择器,jQuery 允许使用 filter with:last而不必使过滤器的参数成为一个函数。