【问题标题】:Strange jQuery Unrecognized Expression (Syntax error, unrecognized expression: .)奇怪的 jQuery 无法识别的表达式(语法错误,无法识别的表达式:。)
【发布时间】:2014-06-26 10:49:00
【问题描述】:

所以我在 jQuery 1.11.1(压缩)中有一个非常奇怪的错误。

我有一个折叠的 div,当我加载我在我的 Mac 上开发的页面页面时,我可以让它完美地工作。认为页面已经准备好完成,我在旧 Windows 上进行了测试,但它无法正常工作。

我查看了控制台以了解为什么这不起作用,并且出现以下错误“

Uncaught Error: Syntax error, unrecognized expression: . jquery.js:2

所以我决定进一步调查这个错误发生了什么,这也是控制台输出在进一步检查后也显示的内容。

fb.error jquery.js:2
fb.tokenize jquery.js:2
fb.select jquery.js:2
fb jquery.js:2
m.fn.extend.find jquery.js:2
m.fn.init jquery.js:2
m jquery.js:2

我不是 100% 是这个特定版本的 jQuery 有问题还是我正在做的事情。

这是我的折叠潜水的代码。

$('.').click(function(){
    $('.round-details')
});

任何帮助将不胜感激,因为这个问题有点超出了我对 jQuery 的能力,因为我仍然只是在学习。

谢谢

斯图 :)

【问题讨论】:

  • 这是什么..? $('.')
  • Sizzle.error = function( msg ) { throw new Error( "Syntax error, unrecognized expression: " + msg ); }; 那是抛出错误的代码块。
  • 我所做的只是从 jquery.com 下载这个,我没有编辑它。
  • @StuartCowley:对。问题不在于您下载的内容。它在您为“崩溃潜水”引用的代码中 [原文如此]。
  • 我遇到了同样的错误,这是因为我的 Wordpress-Bootstrap 导航栏里面有一个无法理解的锚标签 URL。

标签: javascript jquery html


【解决方案1】:

你想用“.”选择什么?选择器?

查看选择器文档:http://api.jquery.com/category/selectors/

除此之外,您在尝试调试时应该使用未压缩版本的 jQuery。

【讨论】:

  • 我不知道,正如我上面提到的,我所做的只是下载压缩版本。它在 OS X 上运行良好,然后我在 Windows 机器上运行并抛出此错误。然后我去下载了未压缩的版本,以查看交易内容和问题所在。也许如果我尝试了早期版本......正如帖子中提到的,我是 jQuery/JavaScript 的新手
【解决方案2】:

错误来自 CSS 选择器解析器。 . 是一个无效的选择器(你的 $('.') 中有它)。 .class selector 开头,但你必须在它后面加上一些东西,例如:

$('.some-class-here').click(function(){
    $('.round-details')
});

或者你可能根本不需要类选择器,在这种情况下不要使用.

您在jquery.js 中看到错误的原因是 jQuery 为您调用 CSS 选择器解析器。您调用$('.'),它会转身并调用浏览器的选择器解析器(或它的内置Sizzle,具体取决于)。在任何一种情况下,由于. 是一个无效的 CSS 选择器,它会引发错误。

【讨论】:

    【解决方案3】:

    好吧,伙计们,

    我找到了问题所在,我很尴尬。

    我正在处理该页面,并认为 Dropbox 已同步所有文件,显然没有。我开始工作,看看为什么它可以在 OS X 而不是 Windows 上运行,然后我立即意识到发生了什么。

    很抱歉浪费了你所有的时间。

    学习

    【讨论】:

    • 这篇文章可以追溯到很久以前,但如果你还在使用 Dropbox 来同步文件——我强烈建议你切换到 Git。我尝试使用 Dropbox 处理项目,但这是一场噩梦!
    【解决方案4】:
    $('.').click(function(){
        $('.round-details')
    

    });

    这是不正确的。括号里面是什么

    $('here')
    

    标识您的选择器,在单击的情况下会触发操作。 您应该将目标元素选择器放在括号内,例如

    $('.my-element-container .my-element div').click(function () {
        //your actions to be executed on click on the element
    });
    

    【讨论】:

    • 感谢 Jumanji 这很有意义。我会玩一玩,然后回复你我的进展:)
    猜你喜欢
    • 2013-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-21
    • 1970-01-01
    • 2017-02-12
    相关资源
    最近更新 更多