Если я попробую что-то вроде этого:
$(".foo") === $(".foo") // = false
... Я ошибаюсь. Если я попробую этот запрос,
$(".foo").get(0) === $(".foo").get(0) // = true
... Я прав.
Это потому, что:
{a:myObject} !== {a:myObject};
[myObject] !== [myObject];
myObject === myObject;
Мне интересно, есть ли какой-либо лаконичный способ проверить это равенство, желательно встроенное в jQuery. 2-й метод, который я написал, работает корректно, если имеется не более одного элемента, который соответствует .foo
. Решение должно работать для любого количества элементов.
Очевидно, я не хочу просто проверять ".foo" === ".foo"
, так как фактические выборы, которые я использую, более сложны. Я просто упростил их для этого примера. (Например, я могу проверить, что $(this)
выбирает ту же самую вещь, что и $(".foo")
.)