आप इस प्रकार का नियमित अभिव्यक्ति के साथ पूरी कक्षा नाम बाहर खींच कर सकते हैं:
$('[class$="blue"]').each(function() {
var clsName = this.className.match(/\w*blue\w*/)[0];
});
एक बात है कि आप का एहसास होना चाहिए कि $('[class$="blue"]')
class
नामित पूरे विशेषता पर चल रही है। मैं व्यक्तिगत वर्ग के नामों पर काम नहीं करता हूं। इसलिए, यह मिलान हो जाएगा:
class="happy text_blue"
लेकिन, यह मेल नहीं खाएगी:
class="text_blue happy"
क्योंकि वर्ग विशेषता "blue"
साथ अंत नहीं है। आप आगे वर्ग ऐसे नाम हैं जो खत्म नहीं हुई को फ़िल्टर करना चाहता है तो
$('[class*="blue"]').each(function() {
var clsName = this.className.match(/\w*blue\w*/)[0];
});
: आप इसे किसी भी वर्ग के नाम है कि जहां यह वर्ग नाम विशेषता में रखा जाता है की परवाह किए बिना "blue"
शामिल प्राप्त करना चाहते हैं, तो आप का उपयोग करना होगा नीले रंग के साथ, आप इस तरह है कि कर सकता है जे एस के साथ:
$('[class*="blue"]').each(function() {
var match = this.className.match(/\w*blue(\b|$)/);
if (match) {
var clsName = match[0];
}
});
आप वस्तुओं से इन वर्ग के नाम को निकालना चाहते हैं, तो आप इसे इस तरह कर सकता है:
$('[class*="blue"]').each(function() {
var match = this.className.match(/\w*blue(\b|$)/);
if (match) {
$(this).removeClass(match[0]);
}
});
यह भी इस तरह से जो एक छोटे से क्लीनर लगता है किया जा सकता है, लेकिन यह पूरी तरह से वर्ग के नाम के आसपास अतिरिक्त व्हाइट को साफ नहीं करता है इसे हटाने है:
$('[class*="blue"]').each(function() {
this.className = this.className.replace(/\w*blue(\b|$)/, "").replace(/\s+/g, ' ');
});
आह मैं आदी हो गया है कि जैसे वर्गों चेनिंग नहीं है क्योंकि IE6 फ्लॉप इसका समर्थन करें, अनुमान लगाओ कि इससे कोई फर्क नहीं पड़ता! हालांकि अच्छा बिंदु। भले ही, मैं क्या पूछ रहा हूं करने का कोई तरीका है? – qodeninja