【问题标题】:jquery tools error: Uncaught Error: Syntax error, unrecognized expression: [href=/]jquery 工具错误:未捕获错误:语法错误,无法识别的表达式:[href=/]
【发布时间】:2012-11-18 09:27:58
【问题描述】:

我刚刚将 jQuery 工具加载到我的网站上。但谷歌浏览器控制台显示错误:

Uncaught Error: Syntax error, unrecognized expression: [href=/] (http://cdn.jquerytools.org/1.2.7/full/jquery.tools.min.js)

我使用的jQuery版本是1.7.1

如何处理这个问题?

【问题讨论】:

  • 发布加载 jquery 的 HTML 代码部分。

标签: jquery jquery-tools


【解决方案1】:

我假设您有一个选择器,用于匹配具有href 属性值为/ 的元素。您需要将 / 字符放在引号中:

var elems = $("[href='/']");

或者,您可以转义字符:

var elems = $("[href=\\/]");

来自jQuery docs

如果您希望使用任何元字符(例如 !"#$%&'()*+,./:;<=>?@[\]^{|}~` )作为名称的文字部分,则必须使用两个反斜杠转义该字符:\\。

这是working example。删除引号以生成您在问题中提到的相同错误。

【讨论】:

  • 我会仔细看看。但这很奇怪,因为我在这个网站上有很多其他的脚本,从来没有出现过这个错误。它是在添加 JQuery 工具后出现的。我什至不使用它,只是加载。
  • 我上面的评论是错误的。删除 JQuery 工具后,错误现在发生在 JQuery 本身中。所以我只是之前没有注意到。
  • 一切都清楚了。这实际上是我在此站点上使用的其他脚本之一中的错误,并且它完全使用 href=/ 不带引号。谢谢你的提示。 (我的错我没有在Chrome中查看这个错误的调用堆栈,它会更快找到)
【解决方案2】:

我的猜测是您更改了库的顺序。如果要使用 JQuery,则必须先加载其库才能使用附加的 JQuery-Expansion-Lib。您应该像这样更改<head> 中的顺序:

<html>
 <head>
  <link rel="stylesheet" type="text/css" href="formate.css"> //CSS always first
  <script src="URL_TO_JQUERY" type="text/javascript"></script> //JQuery first
  <script src="URL_TO_ADDITIONAL_LIB_1" type="text/javascript"></script>
  <script src="URL_TO_ADDITIONAL_LIB_..." type="text/javascript"></script>
  <script src="URL_TO_ADDITIONAL_LIB_n" type="text/javascript"></script>   
 </head>
</html>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-28
    • 1970-01-01
    • 2017-06-06
    • 2019-02-18
    • 2013-10-10
    • 2017-11-24
    • 2015-11-13
    相关资源
    最近更新 更多