我想我可能已经找到了一个相当简单的解决方案。问题在于URL中的哈希也是滚动到页面上的元素。如果我只是在哈希之前添加一些文本,那么它不再引用现有元素!
$(function(){ //This emulates a click on the correct button on page load if(document.location.hash){ $("#buttons li a").removeClass('selected'); s=$(document.location.hash.replace("btn_","")).addClass('selected').attr("href").replace("javascript:",""); eval(s); } //Click a button to change the hash $("#buttons li a").click(function(){ $("#buttons li a").removeClass('selected'); $(this).addClass('selected'); document.location.hash="btn_"+$(this).attr("id") //return false; });});现在,URL
page.aspx#btn_elementID在页面上显示为非真实ID。我只是删除“ btn_”并获取实际的元素ID



