我的网站上没有外部链接,因此我考虑选择所有锚标记:$('a')
并将当前主题标签值附加到所有这些标记的href,但这似乎是一个混乱的方法。有一个更好的方法吗?我的网站的网址如下所示:www.rsadler.com/html/home.html#chairsAndTables
但是当您点击我的任何链接时,网址显然会更新,而不会显示主题标签。
谢谢!
答案 0 :(得分:3)
OP实际上意味着页面发生了变化,但哈希需要结转到每个后续页面。
$('a').each(function(){
var href=this.href.split('#')[0];
$(this).attr('href', href + window.location.hash);
});
答案 1 :(得分:1)
方法1:jQuery
$(document).ready(function() {
$("a").each(function(){ this.src += window.location.hash; });
});
方法2:会话Cookie
window.onload = function() {
var winHash = window.location.hash;
var cookieHash = unescape((document.cookie.match(new RegExp('\bhash=(.*?)(?:;|$)','i')) || [null,''])[1]);
if(winHash == "" && cookieHash.length > 0)
window.location.hash = cookieHash;
else if(winHash != "")
document.cookie = "hash=" + escape(winHash) + "; path=/";
}
注意我没有测试上面的JavaScript,因此可能存在语法错误。
答案 2 :(得分:0)
在链接的单击事件处理程序内调用事件preventDefault将阻止浏览器更新当前URL。