javascript - 两个按钮/链接,单击一次然后更改颜色,直到单击另一个按钮。单击另一个时,对那个做同样的事情

标签 javascript jquery css

我希望他们是这样的。 单击一个,然后将该文本的颜色更改为绿色,直到单击另一个。当另一个点击时,点击的那个变成绿色,点击一次又回到以前的颜色。我用 css 尝试过,但它只喜欢 active 一个。有人可以帮帮我吗

<div id="Space">
  <ul>
    <li role="presentation" class="sort">
      <a class="link" href="/?sort=score&page=1" style="text-decoration:none;">link1</a>
    </li>
    <li role="presentation" class="date">
      <a class="link" href="/?sort=date&page=1"  style="text-decoration:none;">link2</a>
    </li>
  </ul>
</div>

最佳答案

HTML代码:

<div id="Space">
<ul>
    <li role="presentation" class="sort">
      <a class="link1" href="/?sort=score&page=1" style="text-decoration:none;">link1</a>
    </li>
    <li role="presentation" class="date">
      <a class="link2" href="/?sort=date&page=2"  style="text-decoration:none;">link2</a>
    </li>
    <li role="presentation" class="date">
      <a class="link3" href="/?sort=date&page=3"  style="text-decoration:none;">link3</a>
    </li>
  </ul>
</div>

J查询代码:

//on page load
var ul_li_a = $("ul>li>a");
var lastClickTag = localStorage.getItem("last_clicked");

ul_li_a.css("color", "black");
if(lastClickTag){
  $("."+lastClickTag).css("color", "green")
}



$('ul>li').on("click", function(){      
  ul_li_a.css("color", "black");
  $(this).children("a").css("color", "green"); 
  localStorage.setItem("last_clicked", $(this).children("a").attr("class"));  
});

请在此处检查测试代码:https://jsfiddle.net/kkm37zgd/2/

关于javascript - 两个按钮/链接,单击一次然后更改颜色,直到单击另一个按钮。单击另一个时,对那个做同样的事情,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35740740/

相关文章:

javascript - 选择中的日期与日期选择器相同

javascript - jQuery 如何检索和警报 JSON 数据

css - 使 IFRAME 内容适合页面删除内部滚动条

html - 渲染性能 : style attributes or classnames and stylesheet rules?

javascript - 套接字IO : Client side 'connect' event not firing when socket is already setup

javascript - 将java对象分配给node.js变量

javascript - 带有数据表的多个引导选项卡。子行仅在其中一个选项卡上打开

jquery - 继续从变量中获取 [object] [Object]

css - 如何简化CSS代码

javascript - 通过 html 表单帖子或其他方式发送 apiKey