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

jQuery .is() :first showing different behavior from :last

本文关键字:last 显示 is jQuery      更新时间:2023-09-26
有人能向我解释一下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') 

返回false。。。。这是怎么回事?

$('div > ul > li').last().is(':last') or
$('div > ul').find('li:last').is('li:last') 

返回真实

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

您可能需要:first-of-type:first-child

查看http://jsfiddle.net/MvWcv/1/当您选择":first"时,表示您选择了整个文档的第一个节点。":last"也指向整个文档的最后一个节点,即"last"。

因此它应该是

$('div > ul > li').first().is('div > ul > li:first')

$('div > ul > li').last().is('div > ul > li:last')