3

这看起来像一个错误,但我不确定。

据我所知,jQuerys.is()方法只会检查选择器字符串是否与您调用它的元素匹配(如果您传入选择器字符串 ofc ...)

如果您将声明完全限定为

$('div:first').is('div:first')

它会正确返回true,但是..我的掌心来了:

$('div:last').is(':last')

将再次正确返回true

看看:http: //jsfiddle.net/d6UGw/

4

1 回答 1

5

它与您的标记有关。


div:lastdiv表示标记中的最后一个。

:lastelement表示标记中的最后一个。

它可能返回 true,因为您的最后一个元素是 div。


div:first表示标记中的第一个 div。

:first总是返回<html>元素,就像在一个有效的 HTML 文档中一样,它是你的第一个元素。

所以$('div:first').is(':first')永远不应该在有效的 HTML 文档中返回 true。

于 2012-12-05T02:01:41.067 回答