从文件中删除file.html

时间:2011-09-29 22:05:44

标签: javascript jquery

所以,我正在编写一个脚本,假设它可以照亮导航的不同部分。每个导航链接都设置为/ directory / subdir /。它一直有效,直到我意识到需要更多的东西。如果您所在的目录不是索引文件,则它不起作用,因为它直接匹配HREF属性。现在,我如何从链接中删除filename.html并获取目录?感谢您的所有帮助贡献者!

2 个答案:

答案 0 :(得分:1)

如果我没有误解,那你就试图用你的菜单链接

href="/dir/abc/"

虽然页面地址类似于:

/dir/abc/index.shtml
/dir/abc/detail.shtml
/dir/abc/etc.shtml
对吗?我已经编辑了你的代码了。希望这有帮助:

var loc = document.location.pathname;
var nav = $('.mainNav a');

nav.each(function(index, element) {
    var href = $(this).attr('href') //-- edited
    if (loc.indexOf(href)==0) {     //-- edited
        var node = nav.eq(index).parent('li');
        var gpnode = node.parents('li');
        node.addClass('active');
        gpnode.addClass('active');

    }
});

答案 1 :(得分:0)

    /****** LINK DETECTION ******/


var nav = $('.mainNav a');
var loc = document.location.pathname;
var pathname = document.location.pathname.substring(1);
var parts = pathname.split(/\//);
var x = parts.length;
var hrefStr = "/"+parts[0]+"/"+parts[1]+"/";

switch (x) {
    case 2:
    $('.mainNav a').each(function(index, element) {
        if ($(this).attr('href') === loc) {
            var node = nav.eq(index).parent('li');
            var gpnode = node.parents('li');
            node.addClass('active');
            gpnode.addClass('active');
        }
    });
break;

default:

    $('.mainNav a').each(function(index, element) {
        if ($(this).attr('href') === hrefStr) {
            var node = nav.eq(index).parent('li');
            var gpnode = node.parents('li');
            node.addClass('active');
            gpnode.addClass('active');
        }
    });
}

/****** END LINK DETECTION ******/