JavaScript当前页面标识

时间:2011-11-02 12:25:48

标签: javascript

我编写了以下代码来识别当前页面并在导航栏中对其进行相应标记。它工作得很好,除了第一次加载index.php(代码位于header.php文件的末尾:

 path = location.pathname.split("/"); 
 pathname= "#header_nav li a[href='" + path[(path.length-1)] + "']";
 $(pathname).attr("id","current");

任何想法?

2 个答案:

答案 0 :(得分:0)

尝试将代码放在jQuery的.ready()函数中:

$(document).ready(function() {    
    path = location.pathname.split("/"); 
    pathname= "#header_nav li a[href='" + path[(path.length-1)] + "']";
    $(pathname).attr("id","current");
});

答案 1 :(得分:0)

如果网页的网址为http://domain/而不是http://domain/index.php,则您不会将a-element与href =“index.php”匹配。

这个怎么样?

var filename = location.pathname.split('/').pop();
var currentHref = filename ||'index.php';
$('#header_nav li a[href="' + currentHref + '"]').prop('id','current');

请记住,在jQuery 1.6+中你应该使用prop()函数而不是attr()来引用id属性。不过,我更喜欢使用classname,current。