我正在使用使用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加载新网站。
有什么想法吗?
答案 0 :(得分:2)
这似乎是.colorbox
中的错误。
HTML链接在转换为字符串时会生成链接指向的完全解析的URL。在这种情况下,#login
已解析为http://localhost/new/#login
。
似乎colorbox
可能正在做一些将元素转换为字符串并通过$()
重新运行它的东西。由于URL显然不是有效的选择器,因此Sizzle(选择器引擎)会抛出错误。
我担心我无法告诉你如何修复它,特别是因为这样做会涉及到挖掘许多文件的源代码。但是,请尝试使用<button>
,看看是否有任何区别。