यह वास्तव में अजीब है, और मैं इसके खिलाफ अपने सिर को कई घंटों तक मार रहा हूं और इसे समझ नहीं सकता।jQuery शो/छुपा नहीं काम
मैं एक फॉर्म पर कुछ तत्व छिपाने के लिए jQuery का उपयोग कर रहा हूं (कक्षा .read-only
के साथ टैग की गई) और अन्य तत्व दिखाएं (कक्षा .edit-version
के साथ टैग की गईं)।
मूल रूप से, उपयोगकर्ता एक संपादन लिंक पर क्लिक करता है, और उस लिंक के माता-पिता के भीतर, केवल-पढ़ने वाले आइटम छुपाए जाते हैं और संपादन आइटम (इनपुट) प्रदर्शित होते हैं। यह ठीक काम करता है।
समस्या सर्वर से प्रतिक्रिया में होती है, जो विपरीत मामले को पार कर रही है। यह उस div को पाता है जो फ़ॉर्म होस्ट कर रहा है, और यह संपादन संस्करणों को छुपाता है और केवल पढ़ने को प्रदर्शित करता है। इसके अलावा यह नहीं है। कोड यह रहा:
host = $('#employee-card-49');
$('.edit-version', host).hide();
$('.read-only', host).show();
मैं प्रमाणित कर चुके हैं कि वह सही div (#employee-card-49
) पाया जाता है मिला है, और सही आइटम है, और पृष्ठ पर दिखाई गई आईडी के साथ ही आइटम है।
मैंने सत्यापित किया है कि $('.edit-version', host).length
सही है। यह 3 लौटाता है, यह दर्शाता है कि यह तीन तत्वों को ढूंढ रहा है।
मैंने सत्यापित किया है कि $('.edit-version', host)
से प्रत्येक लौटाई गई वस्तु सही है। मैं उनके गुण प्राप्त कर सकते हैं।
कोई जावास्क्रिप्ट त्रुटियां नहीं आती हैं, लेकिन छुपाएं() और शो() कॉल केवल प्रदर्शन प्रॉपर्टी को संशोधित नहीं करते हैं। मैंने बिना किसी लाभ के css('display', 'none')
पर कॉल करने का भी प्रयास किया है।
यदि मैं कॉल को $ ('। Edit-version') में बदलता हूं। छुपाएं() कॉल, यह काम करता है, लेकिन यह उस पृष्ठ पर अन्य divs को प्रभावित करेगा जो मैं प्रभावित नहीं करना चाहता हूं।
किसी भी मदद की सराहना की जाएगी।
क्या कोड का डेमो बनाना संभव है ([jsFiddle] (http://jsfiddle.net) पर संभवतः)? –
; .hide() –
@ स्कॉट, यह मेरा टाइपो यहाँ है; वहां एक है ; कोड में मैंने इसे सही कर दिया है। @ रॉकेट: अभी एक डेमो करना मुश्किल होगा। यह अभी तक सार्वजनिक रूप से उपलब्ध नहीं है, और यह एक पहेली में डालना बहुत बड़ा है। –