1

私は次のhtmlを持っています:

<div class="profileRowHeader">
    <i class="glyphicon glyphicon-folder-close" id="folderIcon"></i>
</div>

をクリックすると、クラス.profileRowHeaderを削除してクラスをglyphicon-folder-close追加したいglyphicon-folder-open#folderIcon

これは私がしようとしているものです:

$('.profileRowHeader').click(function() {
    $(this).find("#folderIcon").toggleClass('glyphicon-folder-open','glyphicon-folder-close');
});

ただし、以下のようにクラスをglyphicon-folder-open削除するのではなく、単にクラスを追加するだけです。glyphicon-folder-close

<i class="glyphicon glyphicon-folder-close glyphicon-folder-open" id="folderIcon"></i>

これは予想される動作ですか?可能であれば本当に削除する必要があります

4

4 に答える 4

5

切り替えるクラスを、スペースで区切られた1 つの文字列にリストします。

$(this).find("#folderIcon").toggleClass('glyphicon-folder-open glyphicon-folder-close');
// Change is here --------------------------------------------^

の 2 番目 (オプション) の引数toggleClassは、トグルする別のクラスではなく、フラグtoggleClassですaddClass。false の場合、 のtoggleClassように動作しremoveClassます。欠落している場合は、クラスをtoggleClass 切り替えます (クラスごとに、存在する場合は削除し、存在しない場合は追加します)。

于 2013-11-15T09:53:29.613 に答える
4

のようにしてみてください

$('.profileRowHeader').click(function() {
    $(this).find("#folderIcon").toggleClass('glyphicon-folder-open glyphicon-folder-close');
 });

2 つのクラスについては、スペースではなく区切り文字は必要ありません。このリンクを参照してください。

于 2013-11-15T09:54:45.253 に答える
3

あなたの場合、スペースで区切られたクラスで単一の文字列引数を使用する必要があります。

$('#folderIcon', this).toggleClass('glyphicon-folder-open glyphicon-folder-close');
于 2013-11-15T09:53:24.077 に答える
2

toggleClassトグルする各クラスがスペースで区切られた単一の文字列パラメータを取ります。これを試して:

$('.profileRowHeader').click(function() {
    $(this).find("#folderIcon").toggleClass('glyphicon-folder-open glyphicon-folder-close');
});
于 2013-11-15T09:53:30.957 に答える