尝试执行 a:active 以保持打开状态,直到单击其他链接
Trying to do a:active to stay on untill other link is clicked
我想做的是:我有两个链接热/更新。单击热时,它应变为红色并更新为黑色。单击更新时,它应该变成红色和热变成黑色。
这适用于小提琴,但不适用于我的网站。
我能够在SO上找到各种答案,因为这似乎是一件很常见的事情。我正在一个接一个地实施,但没有一个有效。它们似乎在小提琴中工作正常,但在我的网络上却不能。
.HTML:
<div id="Space" >
<ul>
<li role="presentation" class="sort">
<a class="link" href="/?sort=score&page=1" style="text-decoration:none;">hot</a>
</li>
<li role="presentation" class="date">
<a class="link" href="/?sort=date&page=1" style="text-decoration:none;">update</a>
</li>
</ul>
</div>
JavaScript:
$(function() {
var links = $('a.link').click(function() {
links.removeClass('active');
$(this).addClass('active');
});
});
.CSS:
a.link.active { color: red; }
a, a:visited { color: black }
现在,这做了a:active
做的事情,它不会保持红色。
var links =
不会做你认为它做的事情。
您认为它正在这样做:
var links = $('a.link');
但是,由于您将其分配给实际的点击事件,因此不会生成该选择器。
您需要按如下方式修改代码:
// This is a "safer" document ready, to prevent conflicts with other $ libraries
jQuery(function($) {
$('a.link').click(function() {
// Remove the class from all other links
$('a.link').removeClass('active');
// Add the class to _just this link_
$(this).addClass('active');
});
});
或者,保留var links
的版本:
// This is a "safer" document ready, to prevent conflicts with other $ libraries
jQuery(function($) {
// Assign all links to the "links" variable
var links = $('a.link');
links.click(function() {
// Remove the class from all other links
links.removeClass('active');
// Add the class to _just this link_
$(this).addClass('active');
});
});
这是一个工作小提琴:https://jsfiddle.net/cale_b/tqzt8f7s/1/
因此,
为了澄清,您希望根据URL是否具有特定查询来突出显示某些按钮。如果 url 包含/?sort=score&page=1,则突出显示排序,如果 url 包含/?sort=date&page=1,则突出显示日期。
为此,您需要做的就是在页面(window.location.search)中搜索每个字符串。这样的事情的代码将是。
const highLightWhat = (window.location.search).search('sort=score') !== -1 ? 'Highlight sort' :
(window.location.search).search('sort=date') !== -1 ? 'Highlight date' :
'Highlight Nothing';
然后,此标志可用作突出显示一个"a"标签或另一个标签的参考。
我希望这有帮助!(:
试试这个javaScript
一次
$(function() {
$('a.link').click(function(event) {
event.preventDefault();
$('a.link').removeClass('active');
$(this).addClass('active');
});
});
相关文章:
- 在Redux中链接async和sync操作以计算初始状态
- 单击我网站中的链接时打开新选项卡,保持当前选项卡处于活动状态
- 流行状态历史和链接
- 如何将链接状态设置为在用户访问另一个页面之前保持
- 如何获取链接以保持活动状态
- 当单击<a>链接在chrome扩展中,popup.html如何保持打开状态
- 如何删除“;被访问”;当我滚动时从链接进入状态
- 如何在第一次点击时突出显示链接;并在第二次单击时跟随它,除非在其他地方单击,然后重新初始化未高亮显示的状态
- 当子菜单的父级或包含链接处于活动状态时,如何告知子菜单可见
- 如何将活动状态类动态更改(添加)到导航链接
- Yii:TbCollapse 多链接(href = #collapse 并将状态更新为 be=“1”)
- 获取左侧导航链接以保持打开和活动状态
- 打开打印窗口处于活动状态的 PDF 链接
- 当鼠标悬停在链接上时,从 href URL 中隐藏状态栏值
- 只要所有链接包含相同的值,它们都将处于活动状态
- 当用户将鼠标悬停在 Chrome 或 Firefox 中的链接上时,悬停状态未激活
- 当内容为空但超链接处于活动状态时删除元素
- Boostrap 3崩溃-基于崩溃状态链接图标
- 选项卡和侧边菜单-状态链接不起作用
- 带ui的AngularJS.路由器:点击相同状态链接时重新加载页面