केस-असंवेदनशील विशेषता चयन करने के लिए, आपको एक कस्टम चयन लिखना होगा या समारोह।
$.expr[':'].iAttrStart = function(obj, params, meta, stack) {
var opts = meta[3].match(/(.*)\s*,\s*(.*)/);
return (opts[1] in obj) && (obj[opts[1]].toLowerCase().indexOf(opts[2].toLowerCase()) === 0);
};
आप इस तरह इस का उपयोग कर सकते हैं:
$('input:iAttrStart(type, r)')
यह किसी भी input
तत्वों जिसका type
विशेषता R
या r
(इसलिए यह मेल खाएंगे RADIO
, radio
, RESET
या reset
) के साथ शुरू होता भरपाई कर देंगे। यह एक सुंदर मूर्ख उदाहरण है, लेकिन आपको जो चाहिए वह करना चाहिए।
टिप्पणी दें कि फ़ंक्शन को समझना मुश्किल है, मैं इसे थोड़ा समझाऊंगा।
$.expr[':'].iAttrStart = function(obj, params, meta, stack) {
कस्टम चयनकर्ता बनाने के लिए यह मानक हस्ताक्षर है।
var opts = meta[3].match(/(.*)\s*,\s*(.*)/);
meta
कॉल के बारे में विवरणों की एक श्रृंखला है। meta[3]
पैरामीटर के रूप में पारित स्ट्रिंग है। मेरे उदाहरण में, यह type, r
है। रेगेक्स type
और r
अलग से मेल खाता है।
return (opts[1] in obj) && (obj[opts[1]].toLowerCase().indexOf(opts[2].toLowerCase()) === 0);
वापसी करता है, तो इन दोनों सत्य हैं:
- का अनुरोध विशेषता इस वस्तु पर मौजूद है (
opts[1] in obj
)
- खोज पद (लोअर केस करने के लिए बदल) के बहुत शुरुआत में पाया जाता है तत्व का गुण मान, भी कम मामले में बदल गया।
मैं मूल जेएस सिंटैक्स की बजाय jQuery वाक्यविन्यास का उपयोग करके पढ़ना आसान बना सकता था, लेकिन इसका मतलब कम प्रदर्शन था।
मैं यहाँ बात का उपयोग करने के अंतिम पंक्ति बदल जवाब भी है: http: // stackoverflow। कॉम/प्रश्न/187537/है-ए-केस-असंवेदनशील-jquery-include-selector – Diego