2012-07-31 75 views
0

与jQuery选择导航选项卡我有一个简单的导航菜单:根据ID

<ul> 
<li><a href="index.php" id="home_menu">Home</a></li> 
<li><a href="purchase.php" class="selected" id="information_menu">Information</a></li> 
<li><a href="purchase.php" id="contact_menu">Contact</a></li> 
</ul> 

我试图设置正确的菜单项都被选中。某些菜单将有子菜单,所以我不觉得我要做到这一点通过它的URL,所以我设置了元数据标签在每一页用正确的标签ID:

<meta name="selected_nav_tab" content="home" /> 

然后得到通过jQuery的ID:

$(document).ready(function() { 

//set appropriate nav menu to selected 
$('#nav li a').removeClass('selected'); 

//determine which tab should be selected 
var selected_tab = $('meta[name=selected_nav_tab]').attr("content"); 
}); 

如何使用该id(“var selected_tab”)来选择主页选项卡?

类似:

$(#selected_tab).addClass('selected'); 

大概没有道理的......

谢谢你再次拯救我从我的头,

托德

回答

1

当你的HTML代码

,你可以尝试,如果“_menu”总是存在那里。

$('#' + selected_tab +'_menu').addClass('selected'); 

或者您想选择检查其内容。

$('#nav li a').contains(selected_tab).addClass('selected'); 
+0

非常好...谢谢。我不知道你可以形成这样的选择器。 – maddogandnoriko 2012-07-31 14:03:59

1

试试这个:

$('#' + selected_tab + '_menu').addClass('selected'); 

您的变量selected_tab只包含home或其他内容,但您的idhome_menu类似,id选择器需要#

所以正确的选择看起来#home_menu

+0

完美。谢谢。 – maddogandnoriko 2012-07-31 14:04:14

0

设置选定的选项卡选项。您首先必须获取要选择的选项卡的索引。

http://jqueryui.com/demos/tabs/#option-selected

// Get jQuery object of the tabs element (assuming #nav is where you use the tabs plugin on) 
var $tabs = $('#nav'); 

// Get selected tab id (this is the id right?) 
var selected_tab = $('meta[name=selected_nav_tab]').attr('content'); 

// Get the index of the tab we are going to select 
var selected_index = $tabs.find('li').index($tabs.find('li#' + selected_tab)); 

// Select the tab 
$tabs.tabs('option', 'selected', selected_index);