2012-07-08 15 views
6

मैं एक div वस्तु हैjQuery एक वर्ग एक सरणी

<div class="class1 classA classB class2"> content </div> 

और कुछ बटन

<button id="numbers">clickme N </button> 

<button id="alphas">clickme A </button> 

कोड इस समारोह में क्या करना चाहिए उसे निकाल किसी भी सुझाव के लिए और मुझे उम्मीद है कि आपको प्रश्न पसंद है :)

+2

आपके ब्रैकेट और आपके टैग पहचानकर्ताओं के बीच रिक्त स्थान क्यों हैं? आईई, फ़ायरफ़ॉक्स और क्रोम में परीक्षण किया गया। मुझे नहीं पता कि आप किस संपादक या आईडीई का उपयोग कर रहे हैं, लेकिन यह अमान्य HTML थूक रहा है। – Daedalus

+0

मैंने कोड को ठीक से स्वरूपित नहीं किया हो सकता है – thednp

+0

http://stackoverflow.com/questions/11279835/delete-all-classes-after-a-certain-class ?? ':) 'इसी तरह, हम्म –

उत्तर

8
var classesN = ["class1", "class2", "class3"]; 
var classesAlpha = ["classA", "classB", "classC"]; 

$('#alphas').click(function() { 
    var $div = $('div'); 
    $.each(classesAlpha, function(i, v){ 
     $div.removeClass(v); 
    }); 
}); 

DEMO

+0

मुझे यह उत्तर भी पसंद है, मैं अभी फैसला नहीं कर सकता: | – thednp

+1

तो एआई इसे सर्वश्रेष्ठ के रूप में लेने जा रहा हूं। बधाई @undefined, आपको फिर से स्कोर मिला – thednp

+0

कोड की पुष्टि 100% वैध yeeey – thednp

13

.removeClass([className]): classNameOne या अधिक स्पेस से अलग वर्ग प्रत्येक मिलान किए गए तत्व की श्रेणी विशेषता से हटाए जाने के लिए।

तो, उन सभी कक्षाओं में शामिल हों जिन्हें आप एक स्पेस से अलग सूची में निकालना चाहते हैं।

var classesN = [class1, class2, class3]; 
var classesAlpha = [classA, classB, classC]; 

$('#alphas').click(function() { 
    $('div').removeClass(classesAlpha.join(' ')); 
}); 
$('#numbers').click(function() { 
    $('div').removeClass(classesN.join(' ')); 
}); 
+1

मूल कोड का तात्पर्य है कि सरणी तारों के सरणी होनी चाहिए, लेकिन मूल कोड में भी वे नहीं हैं। यदि वे तारों का प्रतिनिधित्व करने वाले चर हैं, तो यह काम करेगा, लेकिन मुझे संदेह है कि मूल प्रश्न में उन्हें तारों के सरणी के रूप में भी होना चाहिए। –

+0

उन्हें ** कुछ ** होना चाहिए, मुझे लगता है कि उन्होंने ब्रैकेट्स को शामिल करने में नहीं सोचा था क्योंकि वास्तव में बहुत सारे समझदार विकल्प नहीं हैं। किसी भी अन्य आदिम में एक कारण है .toString()। वस्तुओं? किस? – Sinetheta

+0

यह दिलचस्प लगता है, इसे तुरंत देखेगा :) – thednp

1

या सरणी के बिना और() फ़ंक्शन शामिल हो सकते हैं। केवल

var classesN = "class1 class2 class3"; 
var classesAlpha = "classA classB classC"; 

$('#alphas').click(function() { 
    $('div').removeClass(classesAlpha); 
}); 
$('#numbers').click(function() { 
    $('div').removeClass(classesN); 
}); 
संबंधित मुद्दे