Как мне проверить, указывают ли 2 селектора jQuery на один и тот же элемент (ы)?

Если я попробую что-то вроде этого:

$(".foo") === $(".foo") // = false

... я получу ложь. Если я вместо этого попробую этот запрос,

$(".foo").get(0) === $(".foo").get(0) // = true

... я получу истину.

Это потому, что:

{a:myObject} !== {a:myObject};
[myObject]   !== [myObject];
myObject     === myObject;

Мне интересно, есть ли какой-нибудь сжатый способ проверить это равенство, предпочтительно встроенный в jQuery. Второй метод, который я написал, работает правильно, только если есть не более одного элемента, который соответствует .foo . Решение должно работать для любого количества элементов.

Очевидно, я не хочу просто проверять ". Foo" === ".foo" , поскольку фактические выделения, которые я использую, более сложны. Я просто упростил их для этого примера. (Например, я могу проверить, что $ (this) выбирает то же самое, что и $ (". Foo") .)

14
задан Senseful 22 February 2012 в 18:10
поделиться