【问题标题】:Uncaught exception: Syntax error, unrecognized expression jQuery未捕获的异常:语法错误,无法识别的表达式 jQuery
【发布时间】:2011-12-03 11:58:08
【问题描述】:

我在使用 jQuery 1.6 时遇到了一些问题,我正在尝试选择这个对象 $('#' + id),其中 id 看起来像 skill|3345015|7868,但控制台总是给我一个:

错误:未捕获的异常:语法错误,无法识别的表达式: |3345015|7868

感谢您的帮助

【问题讨论】:

  • 我希望这个问题更清楚,id 是否实际上是“skill|123...等”,或者这只是选择器,id ~可能~是“skill 或” 123" 或等。阅读两个​​答案以获得完整的理解。

标签: jquery syntax expression


【解决方案1】:

根据 w3.org

IDNAME 标记必须以字母 ([A-Za-z]) 开头,并且可以 后跟任意数量的字母、数字([0-9])、连字符(“-”), 下划线(“_”)、冒号(“:”)和句点(“.”)。

所以基本上你的 ID 无效,这应该是解析错误的原因

【讨论】:

  • 所以 jQuery 基本上停留在 HTML 4,因为 HTML 5 允许 id 中的任何字符 :(
【解决方案2】:

试试-

$("div[id='skill|3345015|7868']")

您必须将“div”替换为您要搜索的任何元素。或者,搜索所有元素 -

$("*[id='skill|3345015|7868']")

演示 - http://jsfiddle.net/dV7xM/

【讨论】:

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