html - 将样式应用于活动超链接而不给每个超链接提供类

  显示原文与译文双语对照的内容
0 0

我想让用户知道他们当前所在的网页,突出显示超链接。

如果这是( <li> ),我没有使用按钮列表,我只是在使用链接。

我不希望每个链接都给每个链接一个类,以确定它是否处于活动状态。

在不给每个活动链接一个类的情况下,是否有这样做?

我看过这个问题,并且我看到jQuery可以能是一种可以能性,但我更愿意在jQuery上使用它。 如果有人知道我将会很乐意看到的jQuery解决方案 !

任何自动活动链接检测器? : )

时间:原作者:6个回答

0 0

我想这可能有用,但我没有测试过。
它使用 jQuery,而且很容易读。
但是应该处理路径名,以便在hrefHasPath函数中只包含匹配所需的部分。

var links = $("#links a");//gets all links within something with an id of"links"
var pathname = window.location.pathname;//current url
//for each link see if the href has something in the path, and if it does add a css class
$.each(links, function(){ 
 if(hrefHasPath($(this).attr("href"))){
 $(this).addClass("highlight");
 } 
});
function hrefHasPath(href){
 return (href.indexOf("pathname")!= -1);
}
原作者:
0 0

从头部开始,我将通过抓取所有 <a> 元素( 或者在某个分组中或者在类中,如导航) 并检查当前的URL == a.href 是否正确。

这样的东西:

var a = document.getElementsByTagName('a');
for (var idx= 0; idx <a.length; ++idx){
 if(a[idx].href == document.URL){
//some styles here to the link background
 a[idx].style.backgroundColor = 'red'; 
 }
}

如果你加入 jQuery,它将使你的选择器更易于样式化和类似。

原作者:
...