अगर मैं इस जैसे कुछ प्रयास करें:मैं कैसे जांचूं कि 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")
के रूप में एक ही बात को चुन रही है की जाँच कर सकते हैं।)
आप benekastah के जवाब की जांच करनी चाहिए, यहाँ एक डेमो है कि उसके जवाब को दर्शाता है: http://jsfiddle.net/kAv4X/ – MacMac
@lolwut: कि के बाद से काम नहीं करता है 'है () 'केवल जांच करता है कि * तत्वों में से कम से कम एक * अन्य चयनकर्ता से मेल खाता है (यानी यह सबसेट है)। एक नज़र डालें: http://jsfiddle.net/dYAH3/ (इसे पहली चेतावनी में झूठ बोलना चाहिए, लेकिन यह सच कहता है)। – Senseful
यह [उत्तर] (http://stackoverflow.com/a/3856290/989121) सबसे सटीक प्रतीत होता है। – georg