2011-04-28 38 views
5

在測試我的網站在我的Firebug上的菜單按鈕,點擊時出現此錯誤HREF = schedule.html]未捕獲的異常:語法錯誤,無法識別的表達:</p> <p>未捕獲的異常:語法錯誤,無法識別的表達式:[HREF = example.html的]

我想是因爲當前的類將不適用,但其餘正常工作出了問題在這裏(這些都不是完整的代碼)

HTML:

<nav> 
    <ul> 
    <li><a class="current" href="index.html">HOME</a></li> 
    <li><a href="schedule.html">SCHEDULE</a></li> 
    </ul> 
</nav> 

JS:

$("nav a").removeClass("current"); 
$("nav a[href="+newHash+"]").addClass("current"); 
+1

你的代碼有問題。除非您顯示代碼,否則您可以得到的唯一答案將基於人們猜測您的代碼的外觀。 – Guffa 2011-04-28 12:30:35

+1

雖然我可以猜測......我不打算。如果你的代碼拋出錯誤,那麼不要只提供錯誤。很難發現我們無法看到的密碼中的問題。 – Quentin 2011-04-28 12:30:41

+1

Firebug已經顯示出什麼問題了。 – 2011-04-28 12:31:02

回答

7

這看起來像你的罪魁禍首:

// add single quotes on your selector value 
$("nav a[href='"+newHash+"']").addClass("current"); 
+0

謝謝,現在修復! – Jeroen 2011-04-28 12:59:59

3

因爲jQuery的1.5,引用的屬性值是強制性的。你可以用單或雙引號引用:

$("nav a[href='"+newHash+"']").addClass("current"); 

$('nav a[href="'+newHash+'"]').addClass("current"); 

jQuery的1.4或更低的報價是可選的。

+0

我正在使用的課程(Lynda.com - > jQuery Essential Training)使用的jQuery版本不需要這些引號。因此,在視頻中,如果沒有它們,所有工作都正常,但如果您使用更新的jQuery版本,則需要它們! – RubenGeert 2013-03-21 11:32:50

相關問題