任何人都可以向我解释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')
返回true
答案 0 :(得分:5)
选择器:first
只选择页面上所有元素的第一个元素。那个是<html>
,请尝试运行$(":first")
。 :last
适用于您的情况,因为最后<li>
也恰好是整个页面上的最后一个元素。
您可能需要:first-of-type
或:first-child
。
答案 1 :(得分:1)
看看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')