javascript - 当某些按钮处于活动状态时更改链接
问题描述
我的页面上有一个链接到另一个网站的按钮,但我在同一页面上也有多个按钮。我希望当一个按钮处于活动状态而其他按钮不处于活动状态时,链接会发生变化。因此,每个链接对于该按钮都是唯一的,但仅在它处于活动状态时才有效,而另一个链接则无效。我怎么能这样做?
解决方案
基本上,您必须确保以下几点:
单击大小按钮时,它应该具有活动的背景颜色。之前单击的任何其他按钮将不再处于活动状态。
当您单击“购买”按钮时,每个尺寸按钮都会更改链接位置。
理念:
这个想法是默认添加 a.wrap
并且您希望将<a href>
标签包裹在button
.
在我的示例中,您还想添加一个类.active
。这个类也将被添加。
但是,当您单击其他按钮时,所有这些都必须从前一个按钮中删除。
因此,默认情况下,在添加类之前并且在使用链接包装购买按钮之前,您希望将其删除(即使它不存在,默认情况下先删除然后添加)。
试试这个:
$(document).ready(function(){
$( "#size-8" ).click(function() {
$("purchase").unwrap();
$("#purchase").wrap( "<a href='https://www.w3schools.com' target='_blank'></a>");
$("button").removeClass("active");
$(this).addClass("active");
});
$( "#size-9" ).click(function() {
$("purchase").unwrap();
$("#purchase").wrap( "<a href='https://www.google.com' target='_blank'></a>");
$("button").removeClass("active");
$(this).addClass("active");
});
});
.active {
background-color: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="size-8">Size 8</button>
<button id="size-9">Size 9</button>
<br>
<button id="purchase">Purchase</button>
要查看结果,请转到JSFiddle并单击运行。
推荐阅读
- android - 如何将 base64 编码的音频转换为 JSON?
- android - Httpclient.GetStringAsync 适用于 UWP 和 iOS,但不适用于 Xamarin Forms 上的 Android
- c# - 如何使用动态连接水晶报表
- laravel - 导入文件时如何跳过第一行
- javascript - 从对象数组中获取键:Javascript
- flutter - Flutter:通过路由保持流活跃?
- windows - 基于 Powershell 的 WMI 命令替换
- couchdb - 就地更新功能得到“500(内部服务器错误)”
- spring - 使用弹簧数据流创建弹簧批处理步骤
- jquery - 更改日期选择器日期格式