1

我在一个按钮上有一个代码

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

好吧,它会使按钮突出显示,但是否可以在其中添加检查语句以查看按钮是否已经突出显示并取消突出显示而不是让它保持突出显示?

4

4 回答 4

2

您应该改用.clickjavascript,因为之后更容易阅读和管理:

<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 回答