दिलचस्प पोस्ट
HTML तालिका सेल स्वरूपित करें ताकि पाठ के रूप में Excel स्वरूप? अद्वितीय मूल्यों के साथ क्रमांतर उन पंक्तियों का चयन करें जो अन्य तालिका में मौजूद नहीं हैं एसयूडीओ का उपयोग करते समय पर्यावरण चर रखने के लिए क्या मैं यूआरएल के अंदर एक प्रतीक (@) का उपयोग कर सकता हूँ? क्यों नहीं AngularJS डॉक्स मॉडल निर्देश में एक डॉट का उपयोग करते हैं? मैं 'ImportError कैसे ठीक कर सकता हूं: नाम अपूर्ण रीड आयात नहीं कर सकता'? जीआईटी ऑटोक्रॉल्फ सेटिंग्स के लिए निश्चित सिफारिश मैं पायथन में इस लंबी लाइन को कैसे तोड़ सकता हूं? ओरेकल प्रक्रिया के लिए मूल्यों की एक सरणी को WHERE खंड में उपयोग करना jQuery को खोजने और स्ट्रिंग की जगह पैरामीलेटेड एसक्यूएल क्वेरी को वैरिएबल में डालें और फिर पायथन में कैसे निष्पादित करें? कॉर्डोवा: मेरे आईओएस ऐप पर ब्राउज़र यूआरएल को साझा करना (क्लिपर आईओएस शेयर एक्सटेंशन) एंड्रॉइड सूचीदृश्य पंक्ति हटाने एनीमेशन एक स्थिर वैरिएबल से लिंक क्यों नहीं होगा?

jQuery hasClass () – एक से अधिक वर्ग की जांच करें

साथ में:

if(element.hasClass("class")) 

मैं एक वर्ग की जांच कर सकता हूँ, लेकिन क्या यह देखने का एक आसान तरीका है कि क्या "तत्व" में कई वर्ग हैं?

मै इस्तेमाल कर रहा हूँ:

 if(element.hasClass("class") || element.hasClass("class") ... ) 

जो बहुत बुरा नहीं है, लेकिन मैं कुछ की तरह सोच रहा हूँ:

 if(element.hasClass("class", "class2") 

कौन सा दुर्भाग्य से काम नहीं करता है

क्या ऐसा कुछ है?

वेब के समाधान से एकत्रित समाधान "jQuery hasClass () – एक से अधिक वर्ग की जांच करें"

कैसा रहेगा:

 element.is('.class1, .class2') 

element.is('.class1, .class2') काम करता है, लेकिन यह element.is('.class1, .class2') 35% धीमी है element.hasClass('class1') || element.hasClass('class2') element.hasClass('class1') || element.hasClass('class2')
यहां छवि विवरण दर्ज करें
यदि आप मुझे संदेह करते हैं, तो आप jsperf.com पर सत्यापित कर सकते हैं।
उम्मीद है कि किसी को यह मदद मिलेगी

 $.fn.extend({ hasClasses: function (selectors) { var self = this; for (var i in selectors) { if ($(self).hasClass(selectors[i])) return true; } return false; } }); $('#element').hasClasses(['class1', 'class2', 'class3']); 

यह करना चाहिए, सरल और आसान।

फिल्टर () एक और विकल्प है

उन मिलानकर्ता तत्वों के सेट को कम करें जो चयनकर्ता से मेल खाते हों या फ़ंक्शन के परीक्षण को पास करें।

 $(selector).filter('.class1, .class2'); //Filter elements: class1 OR class2 $(selector).filter('.class1.class2'); // Filter elements: class1 AND class2 

यहाँ एक उत्तर है जो $ (तत्व) के वाक्यविन्यास का पालन करता है। hasAnyOfClasses ("class1", "class2", "class3"):

 (function($){ $.fn.hasAnyOfClasses = function(){ for(var i= 0, il=arguments.length; i<il; i++){ if($self.hasClass(arguments[i])) return true; } return false; } })(jQuery); 

यह सबसे तेज नहीं है, लेकिन इसकी स्पष्ट और समाधान मैं पसंद करता हूं। बेंच: http://jsperf.com/hasclasstest/10

यह मेरे लिए काम किया

Hasclass के लिए यह

 element.hasClass('class1') || element.hasClass('class2') 

यह के लिए है

  element.is('.class1,.class2') 

इस बारे में कैसा है?

if (element.hasClass("class1 class2")

इस बारे में क्या,

 $.fn.extend({ hasClasses: function( selector ) { var classNamesRegex = new RegExp("( " + selector.replace(/ +/g,"").replace(/,/g, " | ") + " )"), rclass = /[\n\t\r]/g, i = 0, l = this.length; for ( ; i < l; i++ ) { if ( this[i].nodeType === 1 && classNamesRegex.test((" " + this[i].className + " ").replace(rclass, " "))) { return true; } } return false; } }); 

प्रयोग करने में आसान,

 if ( $("selector").hasClasses("class1, class2, class3") ) { //Yes It does } 

और यह तेज़ लगता है, http://jsperf.com/hasclasstest/7

व्हाट अबाउट:

 if($('.class.class2.class3').length > 0){ //... } 

यह मेरे लिए काम किया:

 $('.class1[class~="class2"]').append('something'); 

डिफ़ॉल्ट जेएस मैच () फ़ंक्शन का उपयोग करें:

 if( element.attr('class') !== undefined && element.attr('class').match(/class1|class2|class3|class4|class5/) ) { console.log("match"); } 

regexp में चर का उपयोग करने के लिए, इसका उपयोग करें:

 var reg = new RegExp(variable, 'g'); $(this).match(reg); 

वैसे, यह सबसे तेज़ तरीका है: http://jsperf.com/hasclass-vs-is-stackoverflow/22