Javascript 更改顶部位置地址底部边框的颜色

Javascript 更改顶部位置地址底部边框的颜色,javascript,jquery,Javascript,Jquery,我正在为我的网站制作一个非常基本的菜单,并且我使用了border-bottom属性来为项目加下划线。如果你在某一页上,我想突出显示粉红色下划线。我使用了自定义url元素和链接属性。我希望这样,如果用户在第1页,第1页的项目将下划线粉红色。以下是我迄今为止所尝试的: <script> function col(){if(top.location.href==document.getElementsByTagName("url")[1].link){this.style.borderBo

我正在为我的网站制作一个非常基本的菜单,并且我使用了border-bottom属性来为项目加下划线。如果你在某一页上,我想突出显示粉红色下划线。我使用了自定义url元素和链接属性。我希望这样,如果用户在第1页,第1页的项目将下划线粉红色。以下是我迄今为止所尝试的:

<script>
function col(){if(top.location.href==document.getElementsByTagName("url")[1].link){this.style.borderBottom="solid #F05";};}
</script>
^这是完全错误的,我是用W3学校的一些代码进行测试的。 我还尝试:

<script>
function menuCol(url){if(top.location == url){this.style.borderBottom="solid #F05";};}
</script>
^这一个有效,但我必须在每个页面上包含[PAGE NO],以便脚本能够匹配页面和URL元素的ID

有人知道我如何在不需要输入pageID标签的情况下实现这一点吗

---编辑--- 抱歉,我不确定如何用文字表达这个问题,但以下是当前的页面和源代码:


正如他们所说,我们需要更多的代码

但是,如果您想获取当前页面名并获取包含该页面的链接,可以执行以下操作:

//get current adress
var URL = window.location.pathname;
//get the filename with extension
var PageName = URL.substring(URL.lastIndexOf('/') + 1); 
//use jquery to find links pointing to the file
$('#YOURMENU a[href='+PageName+']').css("border-bottom-color", "#F05");

考虑到问题中信息的稀疏性,我能做出的最好猜测是:

// in real life, use:
// var url = window.location;
var url = "http://some.domain.com/index.html";

function markActive(elem) {
    if (url.indexOf(elem.href.split('/').pop()) > -1) {
        return 'active'
    }
}

var as = document.getElementsByTagName('a');
for (var i=0,len=as.length; i<len; i++){
    as[i].className = markActive(as[i]);
}​


在当前版本中,这只适用于页面的名称,因此如果您有多个index.html页面,尽管在不同的目录中,如果您当前在www.example.com/index.html中,它们都会分配活动类。

您使用的是什么标记?您使用的是什么类型的URL根相对的,相对的还是绝对的?不幸的是,我不理解这个问题,即使在阅读了几次之后。你能提供完整的代码片段吗?menuCol是怎么被叫来的?你能用JQuery吗?您说这个方法有效,但在提供的代码段中并没有使用页码。你说的URL元素是什么意思?TBH,我不知道。如果我说我使用的是Webs.com子域,会有帮助吗?我想使用的URL列表:,。这正是我需要的。谢谢。这也有帮助。谢谢你的回答。
// in real life, use:
// var url = window.location;
var url = "http://some.domain.com/index.html";

function markActive(elem) {
    if (url.indexOf(elem.href.split('/').pop()) > -1) {
        return 'active'
    }
}

var as = document.getElementsByTagName('a');
for (var i=0,len=as.length; i<len; i++){
    as[i].className = markActive(as[i]);
}​