忽略URL中的HTML元素ID

时间:2014-02-19 23:07:06

标签: jquery html django url

我正在使用Django和jQuery EasyTabs Plugin。此插件使用指向容器ID的锚点来创建选项卡,如下所示:

<ul class='etabs'>
    <li class='tab'><a href="#tabs1">Tab 1</a></li>
    <li class='tab'><a href="#tabs2">Tab 2</a></li>
</ul>
<div id="tabs1">
    <h2>This is the first tab</h2>
</div>
<div id="tabs2">
    <h2>This is the second tab</h2>
</div>

因此,当您点击链接Tab 1时,容器tabs2会隐藏,并显示tabs1

我的应用程序特别在第一个选项卡中加载一些组件,当其他选项卡被激活时(它触发事件),其中一些组件被移动到新活动选项卡的容器中。结构很复杂,并且首先检查哪个选项卡处于活动状态需要太多代码。有没有办法强迫用户最初站在第一个标签中?

2 个答案:

答案 0 :(得分:1)

哈希不会发送到服务器。

相反,您可以使用插件公开的API来设置标签吗? e.g:

$('#outer-container').easytabs('select', '#nested-tab-3');

答案 1 :(得分:1)

我最终需要的(以及我最初寻找的)是window.location。通过EasyTabs的API选择一个不是第一个选项卡的选项卡显然会触发一个错误,导致两个选项卡的内容同时可见。

window.location.replace('#desired-tab-id')函数之前使用$('#tab-container').easytabs()解决了问题。