2012-07-31 58 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);