单击链接时保持标签值的简洁方法是什么?

时间:2013-02-05 18:34:27

标签: javascript jquery html

我的网站上没有外部链接,因此我考虑选择所有锚标记:$('a')并将当前主题标签值附加到所有这些标记的href,但这似乎是一个混乱的方法。有一个更好的方法吗?我的网站的网址如下所示:www.rsadler.com/html/home.html#chairsAndTables但是当您点击我的任何链接时,网址显然会更新,而不会显示主题标签。  谢谢!

3 个答案:

答案 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。