एक jQuery चयनकर्ता में एक प्रमुख बृहदान्त्र का उद्देश्य क्या है?


84

मैंने Wijmo टूलकिट का उपयोग करना शुरू कर दिया है, और उनके प्रलेखन पृष्ठों में इसके समान कुछ उदाहरण चयनकर्ताओं के लिए आया है:

$(":input[type='radio']").wijradio();

मैंने इस तरह मेरा लिखा है:

$('input[type=radio]').wijradio();

क्या ये वही करते हैं या ऐसा कुछ है जो मुझे याद आ रहा है?

ध्यान दें कि ऊपर दो अंतर हैं: पहला चयनकर्ता एक बृहदान्त्र के साथ उपसर्ग करता है और इनपुट प्रकार के लिए उद्धरण है।


4
एक विशिष्ट :inputचयनकर्ता है, जबकि दूसरा एक सामान्य Elementचयनकर्ता है।
मेलमोकब

जवाबों:


85

:inputएक है jQuery विस्तार करते हुए inputएक सीएसएस चयनकर्ता है।

textarea, buttonऔर selectतत्वों का मिलान पूर्व से होगा, लेकिन बाद का नहीं।

उत्तरार्द्ध अधिक तेज़ है, इसलिए इसे अपने विशिष्ट radioउदाहरण के लिए उपयोग करें । :inputजब आप "सभी फ़ॉर्म तत्व" चाहते हैं, तब भी उपयोग करें जब वे कड़ाई से <input>टैग न हों । उस मामले में भी, अनुशंसा पहले एक मानक सीएसएस चयनकर्ता का उपयोग करने के लिए है, फिर .filter(':input')उस सेट पर उपयोग करें ।

क्योंकि: इनपुट एक jQuery एक्सटेंशन है और CSS विनिर्देशन का हिस्सा नहीं है, प्रश्नों का उपयोग करते हुए: इनपुट देशी DOM querySelectorAll () विधि द्वारा प्रदान किए गए प्रदर्शन को बढ़ावा देने का लाभ नहीं उठा सकता है। उपयोग करते समय सर्वोत्तम प्रदर्शन प्राप्त करने के लिए: तत्वों का चयन करने के लिए इनपुट, पहले शुद्ध CSS चयनकर्ता का उपयोग करके तत्वों का चयन करें, फिर .filter (": input") का उपयोग करें।

1.7.2 स्रोत में: इनपुट फिल्टर नोडनेम के खिलाफ एक नियमित अभिव्यक्ति का परीक्षण करता है:

input: function( elem ) {
            return (/input|select|textarea|button/i).test( elem.nodeName );
},

यह समझ में आता है, धन्यवाद! और टाइप-कोट्स पूरी तरह से वैकल्पिक हैं?
मोर्टन मर्टनर

1
ईमानदारी से, मैंने कभी भी इसका उपयोग नहीं किया [type=]है :inputक्योंकि अगर मैं एक विशिष्ट प्रकार की तलाश में हूं, तो :inputउन सभी का उपयोग करने के लिए सबसे पहले चारों ओर लंबा रास्ता लगता है। शुद्ध सीएसएस चयनकर्ताओं के लिए, मेरी समझ यह है कि उद्धरण मानक हैं, लेकिन ब्राउज़र क्षमा कर रहे हैं। आप इसे संदर्भ के
साइटसाइट पॉइंट्स

तो $ ("चेक किया गया") चेक बॉक्स देता है .. क्या यह भी jquery एक्सटेंशन है?
विशाल शर्मा

@ डेविड रूतका: "ब्राउज़र क्षमा कर रहे हैं" केवल HTML पर लागू होता है, और विचित्र रूप में CSS के लिए। यह कथन मानक मोड में CSS पर लागू नहीं होता है। उद्धरण कुछ मामलों में कानूनी रूप से छोड़ा जा सकता है।
BoltClock

क्या हम इसका उदाहरण रख सकते हैं first select the elements using a pure CSS selector, then use .filter(":input").?
पौटरथोर

17

$("input")चयनकर्ता प्रकार इनपुट का ही तत्व का चयन करेंगे

जबकि $(":input")चयनकर्ता सभी इनपुट तत्वों को पकड़ लेगा (जैसे कि textarea, चयन, इनपुट आदि ...)

अधिक जानकारी के लिए, :inputचयनकर्ता के बारे में jQuery के आधिकारिक दस्तावेज पर जाएं:

http://api.jquery.com/input-selector/


6

:inputचयनकर्ता मूल रूप से सभी का चयन करता है formनियंत्रण (इनपुट, पाठ क्षेत्र, का चयन करें और बटन तत्व) जहां के रूप में inputचयनकर्ता चयन टैग नाम से सभी तत्वों input

चूंकि रेडियो बटन एक formतत्व है और यह inputटैग का भी उपयोग करता है, इसलिए इन दोनों का उपयोग रेडियो बटन का चयन करने के लिए किया जा सकता है। हालांकि दोनों दृष्टिकोण अलग-अलग हैं जो तत्वों को ढूंढते हैं और इस प्रकार प्रत्येक के अलग-अलग प्रदर्शन लाभ हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.