javascript - 编写此 JQuery 代码的更好方法

标签 javascript jquery

当页面加载/重新加载时,我想保留第一个按钮的背景颜色,并且当单击另一个按钮时,第一个按钮颜色消失。

我已经为它编写了这段代码:

$(document).ready(function(){
  $(".target1").css("background-color", "red");
  $(".target1").css("color", "white");
  $(".target2").click(function(){
    $(".target1").css("background-color", "transparent");
    $(".target1").css("color", "black");
    $(".target2").css("background-color","red");
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="collapse3">
<ol>
<button class="target1" type="button" onclick="setURL('imgs/projects/FAB/F01-Fabrication/1.html')">F01-Fabrication-1</button><br>
                        
<button class="target2" type="button" onclick="setURL('imgs/projects/FAB/F01-Fabrication/2.html')">F01-Fabrication-2</button><br>
                        
<button class="target3" type="button" onclick="setURL('imgs/projects/FAB/F01-Fabrication/3.html')">F01-Fabrication-3</button><br>
                        
<a class="target4" type="button" onclick="setURL('imgs/projects/FAB/F01-Fabrication/4.html')">F01-Fbuttonbrication-4</button><br>
                        
<button class="target5" type="button" onclick="setURL('imgs/projects/FAB/F01-Fabrication/5.html')">F01-Fabrication-5</button><br>
 </ol>
</div>

我有很多其他按钮,因此在 Jquery 中执行此类代码我认为这不是最佳实践...我需要帮助向我解释更好的方法来执行此操作?我会感激您的教诲!

谢谢

最佳答案

您需要 this 函数:

$(document).ready(function() {
  $(".target").css("color", "black").css("background-color", "white");
  $(".target1").css("background-color", "red");
  $(".target1").css("color", "white");
  $(".target").click(function() {
    $(".target1").css("background-color", "none");
    $(".target").css("color", "black").css("background-color", "white");
    $(this).css("background-color", "red");
  });
});
<button class="target target1" type="button">
  Button 1
</button>
<button class="target target2" type="button">
  Button 2
</button>
<button class="target target3" type="button">
  Button 3
</button>
<button class="target target4" type="button">
  Button 4
</button>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

JSFiddle Example

希望这有帮助!

编辑:移至代码片段

关于javascript - 编写此 JQuery 代码的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42051024/

相关文章:

javascript - 如何使用jQuery检查当前元素之后是否存在元素?

javascript - 为什么原型(prototype)未定义

javascript - 获取用户在 jwplayer 中观看视频的总时间

javascript - 我如何不引人注意地禁用 Javascript 和 Prototype 的提交按钮?

javascript - 在 JS 中使用函数获取随机数并重复使用该数字

javascript - 将 Google map 嵌入到动态创建的 div 中

javascript - 在 NestJS 中,有没有办法将数据从 Guards 传递到 Controller ?

jquery - 如何使用 JQuery 将点击事件添加到 iframe

javascript - 触发 'dummy'鼠标滚轮事件

javascript - 无法连接到 websocket