我在下面的代码中引用的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
}
}
});
答案 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;
});