pushState メソッドを使用できます。
window.history.pushState({foo: 'bar'}, '他のページ', '/test/#hash');
https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history
この機能は <= IE9 ではサポートされていません。
ジャバスクリプト
$('a').on('click', function(e) {
var element = $(this),
element_anchor = element.attr('href'),
element_title = element.attr('title');
if (typeof window.history !== 'undefined')
{
window.history.pushState({anchor: element_anchor}, element_title, '/test/' + element_anchor);
}
e.preventDefault();
});
HTML
<a href="#first_page" title="this is the first page">first page</a>