2010-03-05 21 views
37

मैं jQuery में एक क्रमबद्ध सूची कार्यान्वयन लिख रहा हूं (कुख्यात स्क्रॉल-इन-डीवी मुद्दे के बी/सी, इसके लिए कोई नया समाधान?)। हालांकि, मुझे नहीं पता कि jQuery में लिपटे जाने के बाद तत्वों की तुलना कैसे करें (mousedown/mouseup पर ट्रिगर)। प्रोटोटाइप में, यह हमेशा ele.domNode था।यदि मैं दो jQuery लिपटे डीओएम तत्व समान हैं तो मैं कैसे परीक्षण कर सकता हूं?

यह है कि मैं क्या संक्षेप में पूरा करने के लिए कोशिश कर रहा हूँ है ...

<div id="cheese"></div> 
<div id="burger"></div> 

<script> 

// Some dom nodes wrapped in jquery 
var ele1 = $('#cheese'); 
var ele2 = $('#burger'); 
var ele3 = $('#burger'); 

// Is the dom node wrapped in ele1 (#cheese) the same as in ele2 (#burger)? 
if (ele1 == ele2) 
{ 
    // Should never be true 
} 

// Is the dom node wrapped in ele2 (#burger) the same as in el32 (#burger)? 
if (ele2 == ele3) 
{ 
    // Should always be true 
} 

</script> 
+0

ई-motiv का जवाब यहाँ बहुत अच्छा है और इस प्रश्न पर उल्लेख नहीं किया: http://stackoverflow.com/questions/2407825/how-to-compare-two-elements-in-jquery – billynoah

उत्तर

62

एक jQuery वस्तु कच्चे डोम तत्वों की एक सरणी के रूप में इलाज किया जा सकता।

आप इस तरह कच्चे डोम तत्वों की तुलना कर सकते हैं:

if(ele2[0] === ele3[0]) 
+0

इस काम करता है और लगता है पसंदीदा तरीका बनने के लिए, धन्यवाद: एस –

11

इस तरह अंदर डोम तत्वों की तुलना करें:

if (ele1.get(0) == ele2.get(0)) 
+0

यह विधि भी काम करती है, धन्यवाद! –

0

यह भी इस समस्या को हल करने के लिए एक संभव तरीका है। आप आईडी विशेषताओं की तुलना कर सकते हैं क्योंकि वे उपरोक्त आपके उदाहरण में सटीक होना चाहिए।

ele1.attr("id") == ele2.attr("id"); //returns false 
ele2.attr("id") == ele3.attr("id"); //returns true 
+0

'id' की तुलना करने से कुछ भी प्राप्त नहीं हुआ है, और 'attr' को कॉल करना निश्चित रूप से jQuery ऑब्जेक्ट्स में अनुक्रमणित करने से धीमा है। – Louis

+0

आपकी अंतर्दृष्टि के लिए धन्यवाद। मैंने सोचा कि मैं एक समाधान साझा करूंगा जो अन्य समाधानों की तुलना में प्रदर्शन के लिए कोई विचार नहीं करेगा क्योंकि ओपी ने यह नहीं कहा था कि वह सबसे तेज़ समाधान की तलाश में था। – M7Jacks

संबंधित मुद्दे

 संबंधित मुद्दे