我的网址生成如下:仅显示在ie9
中http://myurl.com/#/categories/posts
如何从网址中删除#并在其余网页上将其设为http://myurl.com/categories/posts
?感谢。
if ($.browser.msie && parseInt($.browser.version, 10) === 9 && window.location.href.indexOf("#"))
{
document.location.href = String( document.location.href ).replace( /#/, "" );
}
删除#/使用.replace( /#\//, "" );
,如提到的Kevin B
答案 0 :(得分:6)
这不是一个真正的JQuery工作 - 为此使用普通的Javascript。
document.location.href = String( document.location.href ).replace( /#/, "" );
修改强> 添加@Kevin B的完整性答案
document.location.href = String( document.location.href ).replace( "#/", "" );
答案 1 :(得分:4)
只需为锚标记的点击事件添加'return false'。
$("#selectorname").click(function(){
if ($.browser.msie && parseInt($.browser.version, 10) === 9 && window.location.href.indexOf("#"))
{
document.location.href = String( document.location.href ).replace( /#/, "" );
}
return false; /* This prevents url from # */
});
或者
<a href="#" onclick='return false'>Hey click me, I'm # free</a>
或者只是简单地说明
$("#selectorname").click(function(e){
/* some statements */
e.preventDefault();
});
这可以防止不触发默认操作。详细信息here
答案 2 :(得分:1)
$("a").attr("href",$("a").attr("href").replace(/#/, ""));
答案 3 :(得分:0)
<a href="#" onclick="return false">Hey click me, I'm # free</a>
完成了工作。我用它在Bootstrap动态选项卡切换期间隐藏#。谢谢
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#i-ab" onclick="return false">ab</a></li>
<li><a data-toggle="tab" href="#i-cd" onclick="return false">cd</a></li>
<li><a data-toggle="tab" href="#i-ef" onclick="return false">ef</a></li>
</ul>