我正在尝试将Fancybox v2.0.5实现到我的页面中。在此之前,我使用1.3.4没有问题。
问题是,当在一个元素上调用.fancybox()时,每当我点击页面上的任何地方时,我都会收到此错误 :
Uncaught Error: Syntax error, unrecognized expression: )
我已经能够证明它与我将某些元素包装在锚点中这一事实有关,并将其称为:
var $a = $("<img/>", {src:"path_to_img", alt:"YT afbeelding"})
.wrap('<a href="#yt_editor" class="yt_vid" rel="'+video_id+'" />')
.parent()
.fancybox();
任何人都知道如何解决这个问题?
答案 0 :(得分:0)
我个人认为这是插件中的一个错误。问题在于您设置初始化调用的方式。我认为这应该有效:
$('.yt_img').wrap("<a href='#' class='yt_img_wrapper'/>");
$('.yt_img_wrapper').fancybox();
问题是该插件希望能够使用“selector”内部jQuery值作为一种方法来获取调用该插件的元素,并且(在我看来)这只是一个穷人设计决定。在您的情况下,选择器是“.yt_img.parent()”,不是有效的选择器;这就是触发语法错误异常的原因。
编辑 - 它已在Fancybox的GitHub错误列表中记录为issue #173。