0

ボタン 1 のクリック イベントで、このセクションのみから「選択された」クラスを削除するにはどうすればよいですか。ボタン 2 のクラスは削除しないでください。ボタン 2 についても同様です。ボタン 2 をクリックすると、選択したクラスが存在する場合、ボタン 1 のクラスは削除されません。私$('.small-button-1, .small-button-2').removeClass('selected');はすべてを削除することを知っています。

<div class="block">
    <div id="abcd" class="lg_button">Button 1</div>
    <div>
        <div class="small-button-1 selected">1</div>
        <div class="small-button-2 selected">2</div>
    </div>
</div> 

<div class="block">
    <div id="dcba" class="lg_button">Button 2</div>
    <div>
        <div class="small-button-1 selected">1</div>
        <div class="small-button-2 selected">2</div>
    </div>
</div> 
4

2 に答える 2

1

私はこのようにしましたが、ここで機能させるためにいくつかのhtmlタグの名前を変更する必要がありました。これが私の例です http://jsfiddle.net/fKwGR/

jqueryの部分:

$(document).ready(function() {
$('div.lg_button1').click(function(){
        $('div.small-button-1.selected').attr('class','small-button-1');
        $('div.small-button-2.selected').attr('class','small-button-2');
        $('div.small-button-3').attr('class','small-button-3 selected');
        $('div.small-button-4').attr('class','small-button-4 selected');
        });
$('div.lg_button2').click(function(){
        $('div.small-button-1').attr('class','small-button-1 selected');
        $('div.small-button-2').attr('class','small-button-2 selected');
        $('div.small-button-3.selected').attr('class','small-button-3');
        $('div.small-button-4.selected').attr('class','small-button-4');
        });
});​

HTML部分:

<div class="block">
  <div id="abcd" class="lg_button1">Button 1</div>
  <div id='button1'>
      <div class="small-button-1 selected">1</div>
      <div class="small-button-2 selected">2</div>
  </div>

<div class="block">
  <div id="dcba" class="lg_button2">Button 2</div>
  <div id='button2'>
      <div class="small-button-3 selected">1</div>
      <div class="small-button-4 selected">2</div>
  </div>

</ p>

于 2012-07-23T12:34:02.670 に答える
0

親要素を取得して、それをセレクターのコンテキストとして使用する必要があると思います。このhttp://jsfiddle.net/VY5Md/のようなものは、あなたが求めているものを達成するはずです。

  $(function(){
       $('.lg_button').click(function(){
           var $p = $(this).parents('.block');
           $('.selected', $p).removeClass('selected'); 
       }); 
  });​

このコードは、クリックされたボタンを取得し、クラス「block」を持つ親を見つけて、その「block」のコンテキスト内でクラス「selected」を持つものからクラス「selected」を削除します

于 2012-07-23T12:19:19.640 に答える