यदि कोई वर्ग नहीं है तो मैं कैसे जांच करूं? उदाहरण के लिए, मुझे पता है कि यह देखने के लिए कैसे जांच करें कि क्या यह "परीक्षण" वर्ग है, लेकिन मैं यह देखने के लिए कैसे जांचूं कि क्या यह कक्षा "परीक्षण" नहीं है?
if($(this).hasClass("test")){
}
यदि कोई वर्ग नहीं है तो मैं कैसे जांच करूं? उदाहरण के लिए, मुझे पता है कि यह देखने के लिए कैसे जांच करें कि क्या यह "परीक्षण" वर्ग है, लेकिन मैं यह देखने के लिए कैसे जांचूं कि क्या यह कक्षा "परीक्षण" नहीं है?
if($(this).hasClass("test")){
}
जवाबों:
if (!$(this).hasClass("test")) {
sdleihssirhc का उत्तर निश्चित रूप से प्रश्न में मामले के लिए सही है, लेकिन सिर्फ एक संदर्भ के रूप में यदि आपको उन तत्वों का चयन करने की आवश्यकता है जिनके पास एक निश्चित वर्ग नहीं है, तो आप चयनकर्ता का उपयोग नहीं कर सकते हैं :
// select all divs that don't have class test
$( 'div' ).not( ".test" );
$( 'div:not(.test)' ); // <-- alternative
कक्षा "एबीसी" वाले तत्व (या तत्वों के समूह) का चयन करें, कक्षा "एक्सज़" न होने पर:
$('.abc:not(".xyz")')
नियमित सीएसएस का चयन करते समय आप उपयोग कर सकते हैं .abc:not(.xyz)
।
.not () विधि का उपयोग करें और एक विशेषता के लिए जाँच करें:
$('p').not('[class]');
इसे यहां देखें: http://jsfiddle.net/AWb79/
आप यह कोशिश कर सकते हैं:
<div id="div1" class="myClass">there is a class</div>
<div id="div2"> there is no class2 </div>
$(document).ready(function(){
$("#div2").not('.myClass'); // do not have `myClass` class.
});
अधिक जटिल परिदृश्य हैं जहां यह काम नहीं करता है। क्या होगा यदि आप क्लास ए के साथ एक तत्व का चयन करना चाहते हैं जिसमें क्लास बी के तत्व शामिल नहीं हैं। आपको अंत में कुछ और चाहिए जैसे:
इस 6yrs के माध्यम से बाद में पढ़ना और सोचा कि मैं भी इस पर एक हैक ले जाऊंगा , TIMTOWTDI नस में ...: D, उम्मीद है कि यह गलत नहीं है 'JS etiquette'।
मैं आमतौर पर इस स्थिति के साथ एक var सेट करता हूं और फिर बाद में इसे संदर्भित करता हूं..हे;
// var set up globally OR locally depending on your requirements
var hC;
function(el) {
var $this = el;
hC = $this.hasClass("test");
// use the variable in the conditional statement
if (!hC) {
//
}
}
हालांकि मुझे यह उल्लेख करना चाहिए कि मैं ऐसा करता हूं क्योंकि मैं मुख्य रूप से सशर्त टर्नरी ऑपरेटर का उपयोग करता हूं और स्वच्छ कोड चाहता हूं। तो इस मामले में, मेरे पास यह सब है:
hC ? '' : foo(x, n) ;
// OR -----------
!hC ? foo(x, n) : '' ;
...इसके अलावा:
$this.hasClass("test") ? '' : foo(x, n) ;
// OR -----------
(!$this.hasClass("test")) ? foo(x, n) : '' ;
मुझे पता नहीं क्यों, लेकिन स्वीकृत जवाब मेरे काम नहीं आया। इसके बजाय यह काम किया:
if ($(this).hasClass("test") !== false) {}
if($(this).is(":not(.test)"))
> :)