2010-09-07 70 views
1

我工作的網站的一個新版本,我現在發現一個問題,與沒有被很好地處理我的JavaScript代碼。jQuery的升級後,未捕獲的異常:語法錯誤,無法識別的表達:h3的

我在過去一直在做什麼是

$('#lb_outer_title :h3').html(title); 

這改變了標題屬性的文本爲我的收藏夾。這在jQuery的1.3.2工作得很好,但在新的版本(這是使用jQuery 1.4.2),我得到的錯誤:

uncaught exception: Syntax error, unrecognized expression: Syntax error, unrecognized expression: h3 

在新版本中,我可以將代碼更改爲以下和它的工作原理,但是這不能成爲最佳的解決方案:

$('#lb_outer_title').html('<h3>'+ title + '</h3>'); 

我已經在嘗試使用:首先選擇在我的新版本,但根據需要,要麼不工作。

這裏是我的工作的HTML(注:我不能添加class和id的H3標籤):

<div id="lb_outer_title"> 
    <h3>Title</h3> 
    </div> 
+0

雖然下面的答案糾正issue..if你標題有可能要它們編碼的特殊字符,在這種情況下,你應該重量'的.html()'和'的.text()',這取決於你在做什麼堅持在那裏。 – 2010-09-07 20:50:45

回答

4

你的錯誤是在這裏:

$('#lb_outer_title :h3').html(title); 

h3前結腸應被丟棄。 jQuery 1.4有一個更嚴格的選擇器引擎,這就是爲什麼它報告你的錯誤(因爲你在元素選擇器上使用僞類前綴),而jQuery 1.3只是默默地解析冒號。

3
$('#lb_outer_title h3').html(title); 

不知道是什麼結腸在那裏做...這不是一個有效的選擇器。 :用於僞代碼類,但您只需要一個元素。

相關問題