3

これはバグのように見えますが、よくわかりません。

私の知る限り、jQuerys.is()メソッドは、セレクター文字列が呼び出した要素と一致するかどうかをチェックするだけです (セレクター文字列 ofc を渡す場合)。

ステートメントを完全修飾すると、

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

それは正しく返さtrueれますが、.. ここに私のための facepalm があります:

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

再び、正しく戻りtrueます。

それをチェックしてください:http://jsfiddle.net/d6UGw/

4

1 に答える 1

5

それはあなたのマークアップに関係しています。


div:lastマークアップの最後を意味divします。

:lastマークアップの最後を意味elementします。

最後の要素がdivであるため、おそらくtrueを返しています。


div:firstマークアップの最初の div を意味します。

:first有効な HTML ドキュメントのように、常に<html>要素を返します。これは最初の要素です。

したがって$('div:first').is(':first')、有効な HTML ドキュメントで true を返すべきではありません。

于 2012-12-05T02:01:41.067 に答える