1

ボタンにコードがあります

onClick="$('img').removeClass('highlighted');$(this).addClass('highlighted')

ボタンが強調表示されるようにしますが、そこにチェックステートメントを追加して、ボタンが強調表示されたままにするのではなく、ボタンが既に強調表示されているかどうかを確認して強調表示を解除することは可能ですか?

4

4 に答える 4

2

.click後で読み、管理する方が簡単なので、代わりにjavascriptで使用する必要があります。

<script type="text/javascript">
    $(document).ready(function() {
        $("#button").click(function() {
            if ($(this).hasClass('highlighted')) {
                $('img').addClass('highlighted');
                $(this).removeClass('highlighted');
            } else {
                $('img').removeClass('highlighted');
                $(this).addClass('highlighted');
            }
        }
    });
</script>

また、使用することができますtoggleClass

<script type="text/javascript">
    $(document).ready(function() {
        $("#button").click(function() {
            $('img').toggleClass('highlighted');
            $(this).toggleClass('highlighted');
        }
    });
</script>
于 2012-09-05T09:18:52.707 に答える
1

これは、jQueryメソッドを使用して行うことができます。hasClass

onClick="if($('img').hasClass('highlighted')) {$('img').removeClass('highlighted');} else {$(this).addClass('highlighted')}
于 2012-09-05T09:18:39.913 に答える
1

そのコードはおかしいようです。jQueryを使用していますか?その場合は、クリックハンドラ自体の中でチェックを行います。

$("img").on("click", function(event){

   var $this = $(this);

   if($this.hasClass("highlighted")) {
      $this.removeClass("highlighted")
   } else {
      $this.addClass("highlighted")
   }

});

それは役に立ちますか?

于 2012-09-05T09:19:56.323 に答える
1

非常に単純なボス: hasClass() を使用

$('img').click(function(){

if($(this).hasClass('highlighted')){
  $('img').removeClass('highlighted');
}
else{
 $(this).addClass('highlighted')
}


});
于 2012-09-05T11:24:14.800 に答える