JavaScript当前页面标识

JavaScript当前页面标识,javascript,Javascript,我编写了以下代码,用于识别当前页面并在导航栏中相应地标记它。它工作正常,除了第一次加载index.php外,代码位于header.php文件的末尾: path = location.pathname.split("/"); pathname= "#header_nav li a[href='" + path[(path.length-1)] + "']"; $(pathname).attr("id","current"); 有什么想法吗?尝试将代码放在jQuery的.ready函数中:

我编写了以下代码,用于识别当前页面并在导航栏中相应地标记它。它工作正常,除了第一次加载index.php外,代码位于header.php文件的末尾:

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

有什么想法吗?

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

$(document).ready(function() {    
    path = location.pathname.split("/"); 
    pathname= "#header_nav li a[href='" + path[(path.length-1)] + "']";
    $(pathname).attr("id","current");
});
如果页面的URL为而不是,则不会将a元素与href=index.php匹配

这个怎么样

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

请记住,在jQuery1.6+中,应该使用attr的prop函数istead来引用id属性。不过,我更喜欢使用类名current。

谢谢,你说得对。它没有index.php后缀。至于类和id,我想既然当前只有一个页面,使用id是有意义的。