jquery - 单击另一个链接后如何撤消 CSS 更改

标签 jquery css

我的导航中有 4 个链接,我想在单击链接后更改 CSS。但是,在我单击另一个链接后,该链接并没有变回原来的 CSS。我该怎么做?

例如我单击“关于我们”,“关于我们”的 CSS 发生变化,然后单击“产品”,“产品”的 CSS 发生变化。如何让“关于我们”恢复到原始 CSS?

HTML:

<div id="nav">
<ul>
    <li><a href="#page1">&nbsp;Home&nbsp;</a></li>
    <li><a href="#page2">&nbsp;About Us&nbsp;</a></li>
    <li><a href="#page3">&nbsp;Products&nbsp;</a></li>
    <li><a href="#page4">&nbsp;Contact Us&nbsp;</a></li>
</ul>

jQuery:

$(function() {
    $("#nav li a").click(function () {
      $(this).css({'color': 'black', 'border-bottom': '3px dotted black', 'background-color': 'yellow'});
    });
});

最佳答案

不是将 CSS 与 jQuery 一起应用,而是在您的样式表中添加另一个类:

nav li a.active {
    color:black;
    border-bottom:3px dotted black;
    background-color:yellow;
}

然后用 jQuery 切换它:

$(function() {
    var navLinks = $("#nav li a");
    navLinks.click(function () {
        navLinks.removeClass('active');
        $(this).addClass('active');
    });
});

关于jquery - 单击另一个链接后如何撤消 CSS 更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12817004/

相关文章:

javascript - Tablesorter 未对动态添加的内容进行排序

jquery - 将表单字段附加到 url

JavaScript 匹配

jquery:将表单响应从隐藏的 iframe 保存到变量

javascript - 使用相对位置和 top 属性来定位 Flexbox 的子元素(right 属性有效,但 top 无效)

javascript - 尝试使用自动调整大小

html - 使用css更改appery.io中单选组中单选按钮的位置

jquery - IE8 不允许 jQuery 将焦点赋予文本框

css - Bootstrap 固定导航栏卡住

html - 当我为一张图片设置边距顶部时,为什么第二张图片会随之移动?