दिलचस्प पोस्ट
यू '\ ufeff' पायथन स्ट्रिंग में हम जावा रेगेक्स के साथ ^ nb ^ n कैसे मेल कर सकते हैं? एंड्रॉइड: ड्रॉएबल लाइफ मार्जिन और / या पैडिंग जेनरिक और कास्टिंग – मूल वर्ग को विरासत में मिली कक्षा नहीं डाल सकती एंड्रॉइड: एनीमेशन का विस्तार / संक्षिप्त करें पहले किसी लोकल व्हेरिएबल को निर्दिष्ट किए बिना, किसी फ़ंक्शन द्वारा MATLAB सरणी को कैसे लौटाया जा सकता है? मैं एक एचटीएमएल टेक्स्ट बॉक्स कैसे बनाऊं जब खाली जगह पर कोई संकेत दिखाई दे? ऑर्डर किए गए आदेश को लागू करने के लिए इस फ़ंक्शन को कैसे पुनः लिखा जा सकता है? अप्रबंधित dll को एक प्रबंधित C # dll में एम्बेड करना Google Maps v3 में दो बिंदुओं के बीच एक मार्ग ड्राइंग असंगत व्यवहार क्या ड्राइव का एसएसडी है, इसका पता लगाने का कोई तरीका क्या है? क्या आईएमडीबी एक एपीआई प्रदान करता है? मैवेन और जेएसएफ वेबएप संरचना, जहां वास्तव में जेएसएफ संसाधनों को रखा है PostgreSQL ट्रिगर करने के लिए उपयोगकर्ता आईडी पास करना एचटीएमएल.पार्टीअल बनाम एचटीएमएल.रेंडरपार्टीअल और एचटीएमएल.एक्शन बनाम एचटीएमएल.रेंडर एक्शन

एट्रिब्यूट्स के लिए सीएसएस चयनकर्ता केस असंवेदनशील

अगर मेरे पास एक HTML तत्व है <input type="submit" value="Search" /> एक सीएसएस चयनकर्ता को केस-संवेदी होना चाहिए:

input[value='Search'] मैचों

input[value='search'] मेल नहीं खाती

मुझे ऐसे समाधान की आवश्यकता है जहां केस असंवेदनशील दृष्टिकोण भी काम करता है मैं सेलेनियम 2 और जेक्जरी का उपयोग कर रहा हूं, इसलिए दोनों के लिए आपका स्वागत है।

वेब के समाधान से एकत्रित समाधान "एट्रिब्यूट्स के लिए सीएसएस चयनकर्ता केस असंवेदनशील"

 $(':input[name]').filter(function() { return this.value.toLowerCase() == 'search'; }); 

जेएसफ़ैल्ड

आप एक कस्टम चयनकर्ता भी बना सकते हैं …

 $.expr[':'].valueCaseInsensitive = function(node, stackIndex, properties){ return node.value.toLowerCase() == properties[3]; }; var searchInputs = $(':input:valueCaseInsensitive("Search")'); 

जेएसफ़ैल्ड

कस्टम चयनकर्ता थोड़ी अधिक ओवरकिल है अगर यह एक बार कर रहा है, लेकिन अगर आपको इसे अपने आवेदन में कई बार उपयोग करने की आवश्यकता है, तो यह एक अच्छा विचार हो सकता है।

अद्यतन करें

क्या किसी भी विशेषता के लिए उस तरह का कस्टम चयनकर्ता होना संभव है?

बेशक, निम्नलिखित उदाहरण देखें यह थोड़ा जटिल है (सिंटैक्स जैसे :input[value:toLowerCase="search"] अधिक सहज हो सकता है), लेकिन यह काम करता है 🙂

 $.expr[':'].attrCaseInsensitive = function(node, stackIndex, properties){ var args = properties[3].split(',').map(function(arg) { return arg.replace(/^\s*["']|["']\s*$/g, ''); }); return $(node).attr(args[0]).toLowerCase() == args[1]; }; var searchInputs = $('input:attrCaseInsensitive(value, "search")'); 

जेएसफ़ैल्ड

आप संभवत: उस स्ट्रिंग को एक सरणी बनाने के लिए eval() का उपयोग कर सकते हैं, लेकिन मैं इसे इस तरह से और अधिक आरामदायक कर रहा हूं (और आप अपने चयनकर्ता में जो भी कोड डालते हैं उसे आप गलती से निष्पादित नहीं करेंगे)।

इसके बजाय, मैं स्ट्रिंग को , सीमांकक को विभाजित कर रहा हूं, और फिर सफेद स्थान को अलग करना, और प्रत्येक सरणी के सदस्य के दोनों ओर ध्यान दें। ध्यान दें कि बोली के अंदर वाकई सचमुच इलाज नहीं किया जाएगा। लेकिन आप हमेशा इस संभावना के खिलाफ कोड कर सकते हैं। मैं आपको ये छोड़ दूँगा। 🙂

मुझे नहीं लगता कि map() पास सबसे अच्छा ब्राउज़र समर्थन है, ताकि आप args सरणी पर पुनरावृति कर सकते हैं या Array वस्तु को बढ़ा सकते हैं ।

CSS4 (सीएसएस चयनकर्ता स्तर 4) इसके लिए समर्थन जोड़ता है:

 input[value='search' i] 

यह अंत में "आई" है जो चाल करता है I

2016 के मध्य में व्यापक गोद लेने की शुरुआत की गई: क्रोम (v49 से), फ़ायरफ़ॉक्स (v47?), ओपेरा और कुछ अन्य लोगों के पास यह है आईई नहीं और एज अभी तक नहीं है "मैं उपयोग कर सकता हूँ" देखें …

 input[value='Search'] matches input[value='search' i] Also matches in latest browsers 

समर्थन: संस्करण: क्रोम> = 49.0, फ़ायरफ़ॉक्स (छिपकोड)> = 47.0, सफारी> = 9

आप केवल चयनकर्ताओं के साथ ऐसा नहीं कर सकते हैं, कोशिश करें:

 $('input').filter(function() { return $(this).attr('value').toLowerCase() == 'search'; });