0

わかりましたので、3 つの異なるボタンで 1 つの要素のクラスを制御することを検討しています。ただし、一度に使用できるクラスは 1 つだけなので、使用されていない 2 つのクラスを削除する必要があります。

ボタン:

<ul class="group">
<li> <a href="#" class="small-btn">Small</a> </li>
<li> <a href="#" class="med-btn">Medium</a> </li>
<li> <a href="#" class="large-btn">Large</a> </li>
</ul>

私のコンテンツラッパー:

<div id="main_content" class="large">
content here
</div>

他の2つのクラスと照合して削除する方法を頭の中でうまく理解できませんか? クラスを変数としてjQueryに保存する方法はありますか? 助けてくれてありがとう..

4

4 に答える 4

0

テストされていませんが、私はお勧めします:

$('ul.group a').click(function(e){
    e.preventDefault();
    var $self = $(this);
    $('#main_content').attr('class', $.trim($self.text().toLowerCase()));
});

これは、追加する新しいクラスが、クリックされている要素のクラス名ではなく、要素のテキストであると想定しています。これは質問からは明らかではありませんが、クリックした要素のクラスがクラスになった場合代わりに#main_content、次のことをお勧めします。

$('ul.group a').click(function(e){
    e.preventDefault();
    var self = this;
    $('#main_content').attr('class', self.className);
});

参考文献:

于 2013-08-16T13:41:16.053 に答える