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