使用JQuery更改悬停类

使用JQuery更改悬停类,jquery,css,Jquery,Css,我正在探索一种方法来更改div的背景颜色,或者在选中选择框时更改其类别。我想不出来,因为我不明白最好的方法是什么。我复制了我在这里所做的工作: 因此,通过选中上述复选框,可以更改以下div的背景颜色: <div class="item cp sp cf bb" id="launDroid"> <a href="" class="bgRed"> <div class="content"> <h2>Laundroid

我正在探索一种方法来更改div的背景颜色,或者在选中选择框时更改其类别。我想不出来,因为我不明白最好的方法是什么。我复制了我在这里所做的工作:

因此,通过选中上述复选框,可以更改以下div的背景颜色:

  <div class="item cp sp cf bb" id="launDroid">
    <a href="" class="bgRed">
      <div class="content">
      <h2>Laundroid</h2>
      <p>Laundry That Does Itself</p>
      <div class="tileFooter">Category</div>
      </div>
    </a>
  </div>

背景色属于to bgRed类别。我想知道是否选中了上面的复选框,它可以将bgRed类更改为bgback,这将是一个黑色背景?

是的,jQuery可以删除一个类并用另一个类替换它:

$('a').removeClass('bgRed').addClass('bgBlack');

是的,jQuery可以删除一个类并用另一个类替换它:

$('a').removeClass('bgRed').addClass('bgBlack');
您可以监视更改事件,并根据需要更新DOM的其余部分。此外,标签上的for属性应该是要应用它的输入的id,而不是name属性

$'cp'。关于'change',函数{ 如果$this.is':选中'{ $'.bgRed'.addClass'bglack'; }否则{ $'.bgRed'.removeClass'bgBlack'; } } .项目{ 宽度:300px; 高度:300px; 边际:0px; 浮动:左; 位置:相对位置; 背景位置:中心; 背景重复:无重复; 背景大小:100%; } .项目a{ 身高:100%; 宽度:100%; 位置:绝对位置; } .项目:悬停a.bgRed{ 背景色:rgba232,43,71,0.9; } .项目:悬停a.BG黑色{ 背景:黑色; } 沙发土豆您可以监视更改事件,并根据需要更新DOM的其余部分。此外,标签上的for属性应该是要应用它的输入的id,而不是name属性

$'cp'。关于'change',函数{ 如果$this.is':选中'{ $'.bgRed'.addClass'bglack'; }否则{ $'.bgRed'.removeClass'bgBlack'; } } .项目{ 宽度:300px; 高度:300px; 边际:0px; 浮动:左; 位置:相对位置; 背景位置:中心; 背景重复:无重复; 背景大小:100%; } .项目a{ 身高:100%; 宽度:100%; 位置:绝对位置; } .项目:悬停a.bgRed{ 背景色:rgba232,43,71,0.9; } .项目:悬停a.BG黑色{ 背景:黑色; }
沙发土豆你需要做的是设置一个手表,当切换被更改时,然后检查属性是否被选中。您可以使用jQuery实现这一点。我在这里更新了JSFIDLE:

也请参考此处的这个问题,了解如何检查是否使用jQuery选中了复选框:

jQuery使复选框将背景从黑色切换为白色:

$('#cp').click(function() {
  if($('#cehcekc').prop('checked')) {
    $('.bgRed').css('background-color','#000');
  } else {
    $('.bgRed').css('background-color','#fff');
  }
});

您需要做的是设置切换更改时的监视,然后检查是否选中该属性。您可以使用jQuery实现这一点。我在这里更新了JSFIDLE:

也请参考此处的这个问题,了解如何检查是否使用jQuery选中了复选框:

jQuery使复选框将背景从黑色切换为白色:

$('#cp').click(function() {
  if($('#cehcekc').prop('checked')) {
    $('.bgRed').css('background-color','#000');
  } else {
    $('.bgRed').css('background-color','#fff');
  }
});

但是我该如何定位这个div,比如它的方法是什么?$'launDroid a'。removeClass'bgRed'。addClass'bblack';将更改div中元素的类,具体来说。这就是你的意思吗?请注意,一个较短的书写方式是toggleClass'bgRed bgbblack'。@MikeMcCaughan我想你的意思是toggleClass'bgRed','bgbblack'意思是我说的:。请参见第一个重载,一个或多个由空格分隔的类名将为匹配集中的每个元素切换。但是如何将该div作为目标,如方法是什么?$'launDroid a'。removeClass'bgRed'。addClass'bgBlack';将更改div中元素的类,具体来说。这就是你的意思吗?请注意,一个较短的书写方式是toggleClass'bgRed bgbblack'。@MikeMcCaughan我想你的意思是toggleClass'bgRed','bgbblack'意思是我说的:。请参见第一个重载,一个或多个类名之间用空格分隔,以便为匹配集中的每个元素切换。这几乎就是我要查找的内容,但我希望黑色作为悬停而不是红色,但不能替换非悬停背景。它似乎不完全适用于其他复选框,我带你去看看你能不能帮我?@PhpDude如果你有新问题,你应该写一篇新文章。在你已经接受答案之后,评论部分不是我们处理问题范围之外的事情的地方。问题是人们开始投票。将其标记为副本等。感谢您的帮助,尽管Mark我非常感谢。这几乎就是我要寻找的,但我希望黑色作为悬停背景,而不是红色,但不替换非悬停背景。它似乎不完全适用于其他复选框,我带你去看看你能不能帮我?@PhpDude如果你有新问题,你应该写一篇新文章。在你已经接受答案之后,评论部分不是我们处理问题范围之外的事情的地方。问题是人们开始投票。将其标记为副本等。谢谢您的帮助
尽管马克,我还是很感激。恐怕我不是在追求这个。我可以做到这一点,但目标是当我悬停时,它将是红色的,当复选框被选中时,悬停背景颜色将变为黑色。我恐怕这不是我想要的。我可以做到这一点,但目标是当我悬停时,它将是红色的,当复选框被选中时,悬停背景颜色变为黑色。