如何在其他链接处于活动状态时取消其他链接的粗体显示
How to unbold other links when other links are active?
我试图将单击的链接设为粗体,但当我单击其他链接时,它应该会从该链接中删除粗体。我试过下面的代码,当我点击一个链接时,它确实会使链接变为粗体,但在我点击其他链接后,以前点击的链接会保持粗体。
单击新链接时,如何从以前单击的链接中删除粗体?
<a href="#">link A</a>
<a href="#">link B</a>
<a href="#">link C</a>
<a href="#">link D</a>
$(document).ready(function(){
$("a").click(function(){
$(this).css("font-weight","bold");
});
});
我建议切换一个类。
基本上,它从所有同级元素中删除类active
,然后使用.end()
方法选择初始元素并添加类active
:
$("a").click(function() {
$(this).siblings().removeClass('active').end().addClass('active');
});
.active {
font-weight: bold;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#">link A</a>
<a href="#">link B</a>
<a href="#">link C</a>
<a href="#">link D</a>
您可以使用.not();
,也可以通过使用ToggleClass();
而不是addClass();
来切换类
$(document).ready(function(){
$("a").click(function(){
$('a').not($(this)).removeClass('active');
$(this).addClass('active');
});
});
.active{
font-weight : bold;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#">link A</a>
<a href="#">link B</a>
<a href="#">link C</a>
<a href="#">link D</a>
我认为Josh Crozier的答案是最好的解决方案,应该推荐。但只是想分享,如果有人仍然想在不使用类的情况下做到这一点,那也不是不可能做到的:
$("a").click(function() {
$(this).siblings().css("font-weight","normal").end().css("font-weight","bold");
});
相关文章:
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- jQuery Mobile到其他页面的锚链接不起作用
- 单击“禁用其他超链接”
- 拒绝与.htaccess或其他任何内容的主链接
- 使用其他页面上表单的文本创建链接
- 保存链接分配值以及转到其他页面
- 在页面加载时创建/设置活动的默认链接,但在单击其他链接时删除活动链接
- 如何创建一个链接,该链接使用相应的参数打开到其他链接
- 如何获取链接内容(innerHTML)并将其作为标题添加到其他链接
- 如何在使用模式框的混合Form/HEF链接中添加其他GET参数
- 如何根据从其他页面单击的链接填充页面内容
- 悬停时:用一种颜色突出显示维基百科的所有相同链接,用不同的颜色突出显示其他地方的所有相同的链接
- 如何在第一次点击时突出显示链接;并在第二次单击时跟随它,除非在其他地方单击,然后重新初始化未高亮显示的状态
- 如何使 ajax 加载页面中的链接加载其他页面
- 在其他选项卡中打开链接
- 如何将图像链接与 HTML 和 CSS 一起使用时,悬停时在其他位置显示图像
- 使用页面上其他位置的链接激活选项卡
- 通过超链接传递到其他页面的数据正在被切断
- 如何在 RaphaelJS 中根据需要为文本创建默认属性并链接其他属性
- API不共享URL链接(其他数据很好)