Javascript 删除单击其他选项卡时生成的url查询元素的一部分

Javascript 删除单击其他选项卡时生成的url查询元素的一部分,javascript,jquery,tabs,Javascript,Jquery,Tabs,我正在使用jquery tabify,为我的菜单创建一个类似选项卡的功能 演示: 我正在创建如下菜单: <ul id="menu"> <li class="active"><a href="#contentHome">Home</a></li> <li><a href="#contentGuestbook">Guestbook</a></li> <li><a href="

我正在使用jquery tabify,为我的菜单创建一个类似选项卡的功能

演示:

我正在创建如下菜单:

<ul id="menu">
<li class="active"><a href="#contentHome">Home</a></li>
<li><a href="#contentGuestbook">Guestbook</a></li>
<li><a href="#contentLinks">Links</a></li>
</ul>
<div class="content" id="contentHome">Content for Home</div>
<div class="content" id="contentGuestbook">My guestbook</div>
<div class="content" id="contentLinks">Links</div>
满足于家庭 我的留言簿 链接
标签将自动添加为我的url的锚链接,阅读我的url上的任何内容。我需要一个url(仅用于链接选项卡),例如{domain name}/{controller}/{method}/{articleId}}#contentLinks选项卡,示例:

而其余的只会是,等等。从演示中可以看到,{id}-tab”是根据id自动生成的。但是,如果我已经在links页面上,并且如果我要转到其他选项卡(如留言簿或主页),则会出现/shipping/5/#contentHome选项卡


请告知我如何删除/shipping/5/,即使我在“链接”选项卡上,并悬停在该选项卡的其余部分?很抱歉,我无法提供太多的编码,因为我不知道该怎么做。因此,真的很感激有人能发光。非常感谢。

这是一个很难回答的问题,因为JSFIDLE显然缺少URL的
/shipping/5
部分;如果理解正确,我们基本上是在尝试改变插件的功能

不管怎么说,这有点粗糙,但您可以尝试使用javascript更改主页和留言簿链接的
href
属性。因此,首先给出主页和留言簿链接ID:

<a href="#contentHome" id="home">Home</a>
<a href="#contentGuestbook" id="guestbook">Guestbook</a>
这相当于
http://www.test.com/site#contentHome-选项卡
等,有效地消除了URL中不需要的部分

或者,如果这不起作用(在JSFIDLE上使用这样的插件时很难说),您可能会变得更加粗糙,转而将onclick侦听器添加到Home和Guestbook选项卡:

$('#home').click(function() {
  window.location.href = "/site#contentHome-tab";
});​
我通常不会做这样的事情,但是当你在使用插件的时候,有时候你需要做一些修改来达到预期的效果


希望这有帮助。

您是否总是要更换
/shipping/5
?或者它是
/random/number
,所以我们需要匹配字符串中的某个case i?它并不总是/shipping/5,它可能是/delivery/12等等。是的,关于/random/number,您是对的
$('#home').click(function() {
  window.location.href = "/site#contentHome-tab";
});​