2011-12-12 19 views
6

jQuery है: पाठ चयनकर्ता केस संवेदनशील?है: पाठ केस संवेदनशील है?

उदाहरण के लिए:

<input type="TEXT"> 

से मेल नहीं खाता है, लेकिन:

<input type="text"> 

मैच करता है।

ऐसा लगता है कि यह मामला है। मैं सिर्फ सत्यापन की तलाश में हूं।

संपादित

यह भी [type = पाठ] की तरह लग रही है चयनकर्ता (IE8 दस्तावेज़ मोड में) मामले Chrome और Firefox लेकिन नहीं IE8 में प्रति संवेदनशील है

+1

नहीं, यह 'केस संवेदनशील' नहीं है जैसा कि आप इस jsfiddle में देख सकते हैं: http://jsfiddle.net/5RMhK/2/ – sally

+2

'$ (': text') $ ('[type = text] के बराबर है ') '(http://api.jquery.com/text-selector/)। ऐसा नहीं लगता है: http://jsfiddle.net/ZWfb6/ – Eliasdx

+0

@ सैली पहला तत्व ** ** ** मिलान नहीं हुआ है .. http://jsfiddle.net/6VzNv/ – Smamatti

उत्तर

4

संपादित: मेरे अनुसंधान के बावजूद मैंने पहले पूरी तरह से गलत निष्कर्ष खींचा। उत्तर अपडेट किया गया है: ओ (कुडो @ थियागो सैंटोस पर जाते हैं जिनके पास शुरुआत से सही जवाब था: डी)।

jQuery ":text" documentation कहता है:

क्योंकि: पाठ एक jQuery विस्तार और नहीं सीएसएस विनिर्देश का हिस्सा है, का उपयोग करके क्वेरी: पाठ प्रदर्शन देशी डोम querySelectorAll() विधि द्वारा प्रदान को बढ़ावा देने का लाभ नहीं ले सकते।

text: function(elem) { 
    var attr = elem.getAttribute("type"), type = elem.type; 
    // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) 
    // use getAttribute instead to test this case 
    return elem.nodeName.toLowerCase() === "input" && "text" === type && (attr === type || attr === null); 
} 

<input type="tEXt" /> लिए attr का मूल्य पता चला है "पाठ" है, जो type से मेल नहीं जाएगा:

आप source of 1.7.1 में गोता लगाने अगर यह इस चयनकर्ता कार्यान्वित किया जाता है के रूप में लगता है। तो अपने ही आश्चर्य करने के लिए बहुत:

अद्यतन जवाब होना चाहिए: : पाठ केस संवेदी

+1

elem.getAttribute ("type") आपके उदाहरण में "टेक्स्ट" वापस नहीं करेगा, इस मामले में यह केस संवेदनशील होगा? –

+0

ऐ, मुझे खेद है। मैंने अभी अपना जवाब अपडेट कर लिया है। कुडो उन अन्य लोगों के पास जाते हैं जिनके पास शुरुआत से सही जेएसफिडल्स थे * शर्मिंदगी में छिपा * * डी – Jeroen

+0

निष्कर्ष अधिक मूल्यांकन किए गए हैं। ; 0) असल में, अगर मैं निम्न लिंक सही तरीके से पढ़ रहा हूं, तो यह प्राप्त होता है जब DOM एक HTML दस्तावेज़ होता है तो एट्रिब्यूट को लोअरकेस करना चाहिए। https://developer.mozilla.org/en/DOM/element.getAttribute –

3

है ऐसा लगता है कि इस Canse संवेदनशील लोग है .. तो वास्तविकता में निम्नलिखित सच नहीं है

$ (': पाठ') $ ('[type = पाठ]')

यहां नमूने .. केवल एक ही इस

के लिए चेतावनी है के बराबर है

http://jsfiddle.net/huX3M/

2

मैं सबसे पहले कहते थे, हाँ यह केस-संवेदी है। this jsFiddle देखें।

यह देखते हुए कि <input type="text"> व्यवहार करना चाहिए बिल्कुल<input type="TEXT"> के रूप में, मेरा मानना ​​है कि यह शायद एक बग है।

किसी भी मामले में, [type="text"] का उपयोग करना बेहतर है, क्योंकि इसे querySelectorAll द्वारा पार्स किया जा सकता है और इसलिए महत्वपूर्ण प्रदर्शन लाभ होंगे।

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