6

divオブジェクトがあります

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

といくつかのボタン

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

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

コードはこの機能を実行する必要があります。

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

    $('#alphas').click(function() {
       $('div').removeClass(all classes that are in the classesAlpha array);
    });
    $('#numbers').click(function() {
       $('div').removeClass(all classes that are in the classesN array);
    })
</script>

提案をありがとう、そして私はあなたが質問を好きになることを願っています:)

4

3 に答える 3

14

.removeClass([className]) :className一致した各要素のクラス属性から削除される1つ以上のスペースで区切られたクラス。

したがって、削除するすべてのクラスをスペースで区切られたリストに結合します。

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

$('#alphas').click(function() {
   $('div').removeClass(classesAlpha.join(' '));
});
$('#numbers').click(function() {
   $('div').removeClass(classesN.join(' '));
});
于 2012-07-08T06:57:56.727 に答える
7
var classesN = ["class1", "class2", "class3"];
var classesAlpha = ["classA", "classB", "classC"];

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

デモ

于 2012-07-08T07:00:24.207 に答える
2

または、配列とjoin()関数なしで実行できます。クラスを変数に割り当てるだけで済みます

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

$('#alphas').click(function() {
   $('div').removeClass(classesAlpha);
});
$('#numbers').click(function() {
   $('div').removeClass(classesN);
});
于 2013-08-31T17:55:17.577 に答える