ऐसा लगता :visibleहै कि क्रोम में कुछ इनलाइन तत्वों के लिए jQuery का चयनकर्ता काम नहीं करता है। इसका समाधान प्रदर्शन शैली को जोड़ना, पसंद करना "block"या "inline-block"इसे काम करना है।
यह भी ध्यान दें कि jQuery के पास कुछ डेवलपर्स की तुलना में दिखाई देने वाली कुछ अलग परिभाषा है:
यदि वे दस्तावेज़ में स्थान का उपभोग करते हैं, तो तत्व दिखाई देते हैं।
दृश्यमान तत्वों की चौड़ाई या ऊँचाई शून्य से अधिक होती है।
दूसरे शब्दों में, एक तत्व में अंतरिक्ष की खपत और दृश्यमान होने के लिए एक गैर-शून्य चौड़ाई और ऊंचाई होनी चाहिए।
तत्वों के साथ visibility: hiddenया opacity: 0उन्हें दृश्यमान माना जाता है, क्योंकि वे अभी भी लेआउट में जगह का उपभोग करते हैं।
दूसरी ओर, भले ही इसका visibilityसेट अप करने के लिए hiddenया अस्पष्टता शून्य हो, यह अभी भी :visiblejQuery के लिए है क्योंकि यह अंतरिक्ष का उपभोग करता है, जो कि भ्रमित हो सकता है जब CSS स्पष्ट रूप से कहता है कि इसकी दृश्यता छिपी हुई है।
तत्व जो किसी दस्तावेज़ में नहीं हैं उन्हें छिपा हुआ माना जाता है; jQuery के पास यह जानने का कोई तरीका नहीं है कि क्या वे किसी दस्तावेज में संलग्न होने के बाद दिखाई देंगे क्योंकि यह लागू शैलियों पर निर्भर करता है।
सभी विकल्प तत्व छिपे हुए माने जाते हैं, चाहे उनकी चयनित स्थिति कुछ भी हो।
किसी तत्व को छिपाने वाले एनिमेशन के दौरान, तत्व को एनीमेशन के अंत तक दिखाई देता है। किसी तत्व को दिखाने के लिए एनिमेशन के दौरान, तत्व को एनीमेशन में शुरुआत में दिखाई देता है।
इसे देखने का आसान तरीका यह है कि यदि आप स्क्रीन पर तत्व को देख सकते हैं, भले ही आप इसकी सामग्री को नहीं देख सकते, यह पारदर्शी है, आदि, यह दृश्यमान है, अर्थात इसमें स्थान है।
मैंने आपके मार्कअप को थोड़ा साफ किया और एक प्रदर्शन शैली ( यानी "डिस्प्ले को" ब्लॉक करने के लिए तत्वों को सेट करना आदि ) को जोड़ा , और इसके लिए यह काम किया:
बेला
के लिए आधिकारिक एपीआई संदर्भ :visible
JQuery 3 के रूप में, परिभाषा :visibleथोड़ी बदल गई है
jQuery 3 थोड़ा :visible(और इसलिए
:hidden) का अर्थ संशोधित करता है ।
इस संस्करण से शुरू होने पर, तत्वों पर विचार किया जाएगा
:visibleयदि उनके पास कोई लेआउट बॉक्स है, जिसमें शून्य चौड़ाई और / या ऊंचाई शामिल है। उदाहरण के लिए, brबिना किसी सामग्री वाले तत्वों और इनलाइन तत्वों को :visibleचयनकर्ता द्वारा चुना जाएगा ।