JQuery 1.6 के बाद से, आप उपयोग कर सकते हैं .is। नीचे एक साल पहले से जवाब है ...
var a = $('#foo');
var b = a;
if (a.is(b)) {
// the same object!
}
यदि आप यह देखना चाहते हैं कि क्या दो चर वास्तव में एक ही वस्तु हैं, उदाहरण के लिए:
var a = $('#foo');
var b = a;
... तो आप उनकी यूनिक आईडी चेक कर सकते हैं। हर बार जब आप एक नया jQuery ऑब्जेक्ट बनाते हैं तो यह एक आईडी हो जाता है।
if ($.data(a) == $.data(b)) {
// the same object!
}
हालांकि, एक ही सरल के साथ हासिल किया जा सकता है a === b , ऊपर कम से कम अगले डेवलपर को वास्तव में दिखा सकता है कि आप क्या परीक्षण कर रहे हैं।
किसी भी मामले में, आप शायद उसके बाद नहीं हैं। यदि आप यह जांचना चाहते हैं कि क्या दो अलग-अलग jQuery वस्तुओं में तत्वों का एक ही सेट है, तो आप इसका उपयोग कर सकते हैं:
$.fn.equals = function(compareTo) {
if (!compareTo || this.length != compareTo.length) {
return false;
}
for (var i = 0; i < this.length; ++i) {
if (this[i] !== compareTo[i]) {
return false;
}
}
return true;
};
स्रोत
var a = $('p');
var b = $('p');
if (a.equals(b)) {
// same set
}
A.selector === B.selector && A.context === B.context:। अक्सर संदर्भ हमेशा समान रहेगा, इसलिए हमें केवल चयनकर्ता पर विचार करना होगा।