2012-03-19 71 views
3

我試圖在我的頁面中實現Fancybox v2.0.5。在此之前,我使用1.3.4沒有問題。jQuery Fancybox 2.0.5語法錯誤

Uncaught Error: Syntax error, unrecognized expression:) 

我已經能夠做的是:

的問題是,當.fancybox()被調用的元素,我只要我的任何地方點擊頁面上得到這個錯誤它是與事實,我是包裝紙在錨的某些元素,稱這是這樣的:

var $a = $("<img/>", {src:"path_to_img", alt:"YT afbeelding"}) 
       .wrap('<a href="#yt_editor" class="yt_vid" rel="'+video_id+'" />') 
       .parent() 
       .fancybox(); 

任何人有任何想法如何解決這一問題?

+0

我不認爲那裏的代碼會導致這樣的錯誤。 – Pointy 2012-03-19 13:51:35

+0

但它確實如此:當我刪除.fancybox()部件時,沒有錯誤。 – QuintenVK 2012-03-19 13:52:57

+0

所以,你已經把這**精確的**代碼放在頁面上,並導致語法錯誤?同樣,沒有語法錯誤,並且包含該函數調用不會導致一個錯誤。 *編輯* - 它可能是在插件內部完成的,比如構建選擇器或其他東西。 – Pointy 2012-03-19 13:54:14

回答

0

我個人認爲這是一個插件中的錯誤。問題在於你設置初始化調用的方式。我想,這應該工作:

$('.yt_img').wrap("<a href='#' class='yt_img_wrapper'/>"); 
$('.yt_img_wrapper').fancybox(); 

的問題是,該插件希望能夠使用「選擇」內部jQuery的價值,以此來獲得在其上的插件被稱爲元素(S)和(在我看來)這只是一個糟糕的設計決定。在你的情況下,選擇器是「.yt_img.parent()」,這是而不是一個有效的選擇器;這就是觸發語法錯誤異常的原因。

編輯 —它已經記錄爲在的fancybox GitHub的錯誤列表issue #173

+0

感謝您指出了這一點!我會盡力解決它,然後發佈解決方案:-) – QuintenVK 2012-03-19 14:42:27

+0

我認爲任何代碼「破壞」「選擇器」值都會導致其中斷。 – Pointy 2012-03-19 14:44:29

+0

最終我回到了v1.3.4。我一直有問題。我可能會再試一次,希望這個問題很快就能解決。再次感謝! – QuintenVK 2012-03-20 08:57:31