这看起来像个错误,但我不确定。
据我所知,jQuerys .is()
方法只会检查选择器字符串是否与你调用它的元素匹配(如果传入选择器字符串ofc ...)
如果你完全符合声明的要求
$('div:first').is('div:first')
它会正确地返回true
,但是..这是我的facepalm:
$('div:last').is(':last')
将再次正确返回true
。
答案 0 :(得分:5)
它与你的标记有关。
div:last
表示标记中的最后一个div
。
:last
表示标记中的最后一个element
。
它可能会返回true,因为你的最后一个元素是div。
div:first
表示标记中的第一个div。
:first
始终返回<html>
元素,就像在有效的HTML文档中一样,它是您的第一个元素。
所以$('div:first').is(':first')
永远不应该在有效的HTML文档中返回true。