JQuery के साथ कई वर्गों का चयन


222

मैंने एक अच्छा लुक लिया है और यह पता नहीं लगा पा रहा हूँ कि एक jQuery चयनकर्ता स्टेटमेंट में कुछ वर्गों से मेल खाने वाले सभी तत्वों का चयन कैसे करें:

$('.myClass', '.myOtherClass').removeClass('theclass');

इसे प्राप्त करने के बारे में कोई विचार? एकमात्र अन्य विकल्प है

$('.myClass').removeClass('theclass');
$('.myOtherClass').removeClass('theclass');

लेकिन मैं यह कुछ वर्गों के साथ कर रहा हूं, इसलिए इसे बहुत कोड की आवश्यकता है।

जवाबों:


402

यह काम करना चाहिए:

$('.myClass, .myOtherClass').removeClass('theclass');

आपको पहले तर्क में $ () में कई चयनकर्ताओं को जोड़ना होगा, अन्यथा आप jQuery को एक संदर्भ दे रहे हैं जिसमें खोज करना है, जो आप नहीं चाहते हैं।

यह वैसा ही है जैसा आप CSS में करते हैं।


3
क्या होगा यदि मैं इसे केवल तभी मेल करना चाहता हूं जब तत्व में से प्रत्येक में सभी निर्दिष्ट कक्षाएं हों?
इस्माइल

12
ठीक है, मुझे यह एक stackoverflow.com/q/1041344/148271 मिला । मूल रूप से मुझे चौराहे के लिए सभी चयनकर्ता में शामिल होना होगा। जैसे$(".myClass.myOtherClass")
इस्माइल सिप

CSS ग्रुपिंग पर अधिक: W3C "ग्रुपिंग"
झूला

@वाल: दोनों वर्गों की ओर इशारा करते हुए सीएसएस में भी अल्पविराम आवश्यक है। अल्पविराम के बिना यह संदर्भ होगा .myOtherClassकि कहीं अंदर है .myClass
geekuality

यह उत्तर प्रश्न का उत्तर नहीं देता है, इस तरह से आप OR बना रहे हैं !!!! नहीं और !!
महमूद खतीब


25

मैं उपयोग करता हूं $('.myClass.myOtherClass').removeClass('theclass');


34
ऐसा तब होता है जब HTML तत्व में कई वर्ग होते हैं, और आप उन सभी वर्गों के साथ केवल तत्व के लिए कक्षा को निकालना चाहते हैं। अन्य उदाहरण किसी भी वर्ग के वर्ग को किसी भी वर्ग से हटा देंगे जो अल्पविराम से अलग हैं। आपका उदाहरण केवल तभी काम करेगा जब मेरे एचटीएमएल तत्व में दोनों हों , जैसे कि<div class="myClass myOtherClass theclass">
केजर

0
// Due to this Code ): Syntax problem.    
$('.myClass', '.myOtherClass').removeClass('theclass'); 

JQuery प्रलेखन के अनुसार: https://api.jquery.com/multiple-selector/

जब इस तरह से कई वर्गों का चयन कर सकते हैं:

jQuery(“selector1, selector2, selectorN”) // double Commas. // IS valid.
jQuery('selector1, selector2, selectorN') // single Commas. // Is valid.

सभी चयनकर्ताओं को एक एकल ... '' या दोहरे कॉमा में संलग्न करके, "..."

इसलिए आपके मामले में कई वर्गों को कॉल करने का सही तरीका है:

$('.myClass', '.myOtherClass').removeClass('theclass'); // your Code // Invalid.
$('.myClass , .myOtherClass').removeClass('theclass');  // Correct Code // Is valid.
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.