$('div:first')。is(':first')返回false,为什么?

时间:2012-12-05 01:58:49

标签: javascript jquery css

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

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

如果你完全符合声明的要求

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

它会正确地返回true,但是..这是我的facepalm:

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

将再次正确返回true

检查出来:http://jsfiddle.net/d6UGw/

1 个答案:

答案 0 :(得分:5)

它与你的标记有关。


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

:last表示标记中的最后一个element

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


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

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

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