jQuery .is():首先显示不同的行为:last

Bru*_*Lim 2 javascript jquery selector

任何人都可以向我解释jQuery .is()函数到底发生了什么?

我有一种情况,我正在检查元素是否是我选择的一组元素中的第一个.

<div>
   <ul>
      <li>first</li>
      <li>second</li>
      <li>third</li>
      <li>last</li>
   </ul>
</div>

$('div > ul > li').first().is(':first') or
$('div > ul').find('li:first').is('li:first') 
Run Code Online (Sandbox Code Playgroud)

返回false ....这里发生了什么?

$('div > ul > li').last().is(':last') or
$('div > ul').find('li:last').is('li:last') 
Run Code Online (Sandbox Code Playgroud)

返回true

pim*_*vdb 5

选择器:first只选择页面上所有元素的第一个元素.那个是<html>,试试跑$(":first").:last适用于您的情况,因为最后一个<li>也恰好是整个页面上的最后一个元素.

您可能想要:first-of-type:first-child代替.