दिलचस्प पोस्ट
एक ग्रहण एंड्रॉइड प्रोजेक्ट को लाइब्रेरी / जार जोड़ना क्या सी / सी ++ में एक मानक साइन फंक्शन (सिग्गम, एसजीएन) है? यूआरएल यूथस्ट्रिंग: रिटर्न नील स्ट्रिंग तुलना – एंड्रॉइड स्तंभों के संयोजन के लिए अद्वितीय बाधा जोड़ने के लिए माइग्रेशन PHP के साथ एक ini फ़ाइल को कैसे पढ़ा और लिखना क्या सी ++ के नए ऑपरेशन द्वारा पते की रिटर्न के संरेखण की कोई गारंटी है? एक विशिष्ट स्क्रीन में दोहरी मॉनिटर कॉन्फ़िगरेशन में JFrame दिखाएं आवेदन निर्देशिका प्राप्त करें बड़ी रस्सियों के साथ जुड़ें कैसे प्रोग्रामिंग के आईपी पता को पाने के लिए "डिबग मोड" सक्षम होने पर यह कैसे पता चलेगा फ़्लोट का उपयोग "अतिभारित कार्य करने के लिए कॉल अस्पष्ट" त्रुटि देता है क्लोज़र में फास्ट प्राइम नंबर पीढ़ी सूची में "सुचारू रूप से" एंड्रॉइड में लोड करने के तरीके

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

साथ में:

if(element.hasClass("class")) 

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

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

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

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

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

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

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

Solutions Collecting From Web of "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