Colorbox语法错误:无法识别的表达式

时间:2014-05-28 16:03:21

标签: javascript jquery codeigniter colorbox

我正在使用使用CodeIgniter和HTML5布局的新网站 我从我的旧网站复制了一些代码,但是当我在我的新网站上尝试这个时,它给了我这个错误:

Error: Syntax error, unrecognized expression: http://localhost/new/#login  

Line: 4680  

Sizzle.error = function( msg ) {
    throw new Error( "Syntax error, unrecognized expression: " + msg );
}; 

我正在使用jQuery 1.8.3

我的代码:

<a class="login" href="#login">login</a>
<section style="display:none">
    <section id="login">
        <h1>Login</h1>
        <p>Form here</p>
    </section>
</section>


<script type="text/javascript">
    $(document).ready(function(){
        $(".login").colorbox({inline: true, width:"50%", height:"50%"});
    });
</script>

使用Firefox和IE测试,两者都不起作用......

我和Jsfiddle一起测试过,就像在我的其他网站上一样。

如果我删除&#34; inline:true&#34;,它可以运行并尝试使用Colorbox加载新网站。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

这似乎是.colorbox中的错误。

HTML链接在转换为字符串时会生成链接指向的完全解析的URL。在这种情况下,#login已解析为http://localhost/new/#login

似乎colorbox可能正在做一些将元素转换为字符串并通过$()重新运行它的东西。由于URL显然不是有效的选择器,因此Sizzle(选择器引擎)会抛出错误。

我担心我无法告诉你如何修复它,特别是因为这样做会涉及到挖掘许多文件的源代码。但是,请尝试使用<button>,看看是否有任何区别。