从href中删除字符串

时间:2013-11-01 04:19:52

标签: javascript string replace

我在下面的代码中引用的href通常只是“#programs”之类的同页链接。但是,我现在需要一些链接来引用其他页面,如“/index.html#programs”。所以我的问题是,如何编辑下面代码中的“href”只是数字符号及其后的所有内容?谢谢。

    var lastId, topMenu = $("#main-menu"),
topMenuHeight = topMenu.outerHeight() + 500;
menuItems = topMenu.find('a');

    scrollItems = menuItems.map(function () {

        content = $(this).attr("href");

        if(content){
            var checkURL = content.match(/^#([^\/]+)$/i);

            if(checkURL){

                var item = $($(this).attr("href"));
                if (item.length) return item

            }
        }
    });

3 个答案:

答案 0 :(得分:1)

你可以给出这样的新途径:

var path = "ur_new_location";
$("#link1").attr('href',path);

答案 1 :(得分:0)

var item = "/index.html#programs";
var afterHash = item.substr(item.indexOf("#"))

//这里的技巧是indexOf和substr方法

var lastId, topMenu = $("#main-menu"),
topMenuHeight = topMenu.outerHeight() + 500;
menuItems = topMenu.find('a');

    scrollItems = menuItems.map(function () {

        content = $(this).attr("href");

        if(content){
            var checkURL = content.match(/^#([^\/]+)$/i);

            if(checkURL){

                var item = $($(this).attr("href"));
                item = item.substr(item.indexOf("#"))
                if (item.length) return item

            }
        }
    });

答案 2 :(得分:0)

如果是我,我会忘记更换所有文件名并使用锚标记的hash property来获得你想要的东西

更换您拥有的过滤器:

.filter(function(){
  return this.hash==='#' +id;
});

Simple demo