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

Colorbox Syntax error: unrecognized expression

本文关键字:识别 表达式 错误 语法      更新时间:2023-09-26

我正在使用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测试了一下,就像在我的其他网站上一样。

如果我删除"inline: true",它会工作,并尝试加载新的网站与Colorbox。

任何想法?

这可能是.colorbox的一个bug。

HTML链接在转换为字符串时,会得到该链接指向的完全解析的URL。在此例中,#login被解析为http://localhost/new/#login

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

恐怕我不能告诉你如何修复它,特别是因为这样做需要挖掘许多文件的源代码。但是,尝试使用<button>来代替,看看是否有任何不同。