从页面内容链接到JQuery选项卡

我正在构建一个使用JQuery在主页上创建选项卡式内容的应用程序。

我正在使用这个代码示例来构建。 http://jqueryfordesigners.com/jquery-tabs/

这一切都很好,但是如何链接到标签,以便它与在主页或网站上的任何内容中点击标签链接相同?

我的Javascript代码。

$(document).ready(function(){ var tabContainers = $('div.tabs > div'); $('div.tabs ul.tabNavigation a').click(function () { tabContainers.hide().filter(this.hash).show(); $('div.tabs ul.tabNavigation a').removeClass('selected'); $(this).addClass('selected'); return false; }).filter(':first').click(); 

});

我的HTML。

  
...
...
...
...

我以为我可以做一些链接

 My link text 

在我的内容,但我假设我需要添加相同的javascript代码,使这项工作。

编辑我已经将以下代码添加到我的javascript但是我单击的选项卡没有得到选定的CSS规则。

  // add code for links to tabs $('a.tablink').click(function (){ tabContainers.hide().filter(this.hash).show(); $('div.tabs ul.tabNavigation a').removeClass('selected'); $(this.hash).addClass('selected'); return false; }) 

我需要在这里更改$(this.hash).addClass(’selected’); 添加css类.selected

就像是

 tabContainers.filter(window.location.hash).show(); 

在你准备好的function里面,或许? 然后链接example.org/path#tab2将在pageload上打开正确的选项卡。

编辑:哦,我想我有点误解了这个问题。 您是否也希望能够在同一页面上打开标签页? 然后你可以使用触发器 :

 My link text 

(实际上编写内联JavaScript非常难看,但如果你正在处理CMS,它可能是最简单的方法。)

也许这适用于在同一页面内链接。

 var currentHash = document.location.hash; $(window).bind('hashchange', function() { if(currentHash != document.location.hash){ $("a[href*="+document.location.hash+"]").click(); currentHash = document.location.hash; } }); 

然后您可以通过哈希链接到选项卡,如下所示:

 Link Title