2012-05-20 185 views
1

我在我的頁面上放置了bootstrap選項卡,並試圖從js動態地激活一個選項卡。這裏有一個例子:未捕獲的錯誤:語法錯誤,無法識別的表達式:?tab = month

<ul class="nav nav-tabs"> 
<li class="active"><a href="?tab=day">Hot</a></li> 
<li><a href="?tab=week">Week</a></li> 
<li><a href="?tab=month">Month</a></li> 
</ul> 

<script> 
    $(function() { 
     $('.nav-tabs a[href="\\?tab\\=month"]').tab('show'); 
    }); 
</script> 

但我總是得到:

Uncaught Error: Syntax error, unrecognized expression; ?tab=month

從jQuery的(V1.7.1)。

編輯: 我創建了一個fiddle

回答

2

展現在jQuery UI的選項卡的任何選項()嘗試主動兩種標籤及其內容,但href「?tab = month」的值對於jQuery選擇內容無效。

我的解決方法是:

<ul class="nav nav-tabs"> 
<li class="active"><a href="?tab=day" data-target="#">Hot</a></li> 
<li><a href="?tab=week" data-target="#">Week</a></li> 
<li><a href="?tab=month" data-target="#">Month</a></li> 
</ul> 

<script> 
$(function() { 
    $('.nav-tabs a[href="?tab=month"]').tab('show'); 
}); 
+1

我遇到了類似的問題,因爲我在我的選項卡上沒有'data-target =「#」',因爲我正在使用替代方法('AngularJS')來呈現視圖內容。這有助於突出這個問題,謝謝。 – atconway

0

您可以使用選擇包含選擇,

$('.nav-tabs a[href*="month"]') 

但我無法找到像.Tab('show')

+0

我得到了同樣的錯誤 「未捕獲錯誤:語法錯誤,無法識別的表達:?標籤=月」,奇怪的。 – ting

相關問題