javascript - Jquery - 单击时更改颜色

标签 javascript html jquery css toggle

当我单击时,我会放置高亮,但我希望当我再次单击时,高亮消失,或者当我单击一个按钮时,他会删除最后一个突出显示。

$('div').each(function() {
  var $this = $(this);
  $this.html($this.text().replace(/\b(\w+)\b/g, "<span>$1</span>"));
});

$('div span').click(function() {
  $(this).css('background-color', '#ffff66');
});
span {
  font-size: 15pt;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js" integrity="sha512-bLT0Qm9VnAYZDflyKcBaQ2gg0hSYNQrJ8RilYldYQ1FxQYoCLtUjuuRuZo+fjqhx/qtq/1itJ0C2ejDxltZVFg==" crossorigin="anonymous"></script>
<div>
  <span>This text is a test text</span>
</div>

当我再次单击他删除突出显示的单词时,如何放置该功能?

感谢您的帮助。

最佳答案

您可以创建一个类并使用 toggleClass 切换它。 .

$('div').each(function() {
  var $this = $(this);
  $this.html($this.text().replace(/\b(\w+)\b/g, "<span>$1</span>"));
});

$('div span').click(function() {
  $(this).toggleClass('highlightSpan');
});
span {
  font-size: 15pt;
}

.highlightSpan {
  background-color: #ffff66;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js" integrity="sha512-bLT0Qm9VnAYZDflyKcBaQ2gg0hSYNQrJ8RilYldYQ1FxQYoCLtUjuuRuZo+fjqhx/qtq/1itJ0C2ejDxltZVFg==" crossorigin="anonymous"></script>
<div>
  <span>This text is a test text</span>
</div>

关于javascript - Jquery - 单击时更改颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63918343/

相关文章:

javascript - 无框模态弹出

javascript - 无法在 React 中使用扩展运算符更新状态

php - JQuery .ajax() 调用的空白响应消息长度为 13 个字符?

html - 尝试创建一个水平居中的菜单

javascript - 使用 jQuery 的 .on 函数如何获取事件的原始元素?

jQuery + .each() + .post()...同步运行?

javascript - Jquery Onload 函数停止 for 循环,在函数内部传递 for 循环 x

JavaScript 从 div 标签获取值

javascript - AWS Cognito - JavaScript 中的开发人员身份验证(浏览器)

html - bootstrap 3 - 自动循环视频的悬停效果