jQuery + CSS: switch to "loading" -


मेरे पास निम्न सेट अप हैं:

  & lt; div class = "red पर क्लिक करें" & gt; & lt; / div & gt; & Lt; div वर्ग = "हरे रंग पर क्लिक करें" & gt; & lt; / div & gt; & Lt; div वर्ग = "नीला क्लिक करें" & gt; & lt; / div & gt;  

और जब "क्लिक" क्लिक किया जाता है तो मैं div को "लोड" वर्ग में जोड़ना चाहता हूं। मैंने यह ठीक कामयाब किया है, लेकिन "लाल" "हरे" और "नीले" में सभी पृष्ठभूमि छवि सेट हैं इसलिए मुझे उस क्लास को हटाने की आवश्यकता है। अब, मुझे पता है कि यह कैसे मैला करने के लिए है, मैं डब "क्लिक करें नीले" (जैसा कि jquery द्वारा लौटा दिया गया है) के लिए कक्षा लेता हूं और फिर मुझे पता है कि मुझे क्या चाहिए और इसे बदलें लेकिन यह अविश्वसनीय रूप से है मैला और मैं इसे उचित तरीके से नहीं देख सकता।

यह दृष्टिकोण करने का सही तरीका क्या है? मुझे डिवी से द्वितीय श्रेणी को निकालने की आवश्यकता है और इसे "भार" वर्ग के साथ बदलें। क्या प्रत्येक वर्ग को अलग-अलग कॉल करने के लिए कुछ प्रकार की विधि है, .attr ("class") [2]?

< P> यदि आप जानते हैं कि क्लास "क्लिक" है, तो आप सेट कक्षा में कर सकते हैं, इसके बजाय इसे जोड़ने / हटाने से, जैसे:

  $ ('div' ) .attr ('वर्ग', 'लोड करें पर क्लिक करें');  

यदि आप पता कक्षाएं (सुनिश्चित नहीं हैं कि यह एक सरल उदाहरण है) आप हटाना चाहते हैं, तो आप यह कर सकते हैं:

  $ ("div")। RemoveClass ('लाल हरा नीला')। AddClass ('लोड');  

संपादित करें: टिप्पणियों के आधार पर - लोड किए जाने के बाद इसे पुन: बहाल करने के लिए आप बाद में वर्ग का उपयोग कर इसे पकड़ कर रख सकते हैं:

आपके क्लिक फ़ंक्शन में:

  $। डेटा (यह, 'वर्ग', $ (यह) .attr ('class')); // मूल वर्ग $ (यह) .attr ('वर्ग', 'लोड करें क्लिक करें') स्टोर करें; // सेट लोडिंग क्लास  

फिर इसे बाद में पुनर्स्थापित करने के लिए:

  $ (यह) .attr ('class', $ .data (यह, '' कक्षा')); / Orignal वर्ग को बहाल  

Comments