【问题标题】:jQuery Syntax error, unrecognized expression - Using { [duplicate]jQuery 语法错误,无法识别的表达式 - 使用 { [重复]
【发布时间】:2014-08-08 21:26:17
【问题描述】:

我在 SharePoint 2013 中使用 jQuery,并且必须获取表 ID 才能添加属性。 表ID是

{44C80A95-F3E4-40DA-9A97-50CADFFFED61}-{DD02CEA7-CC2B-4E4A-A725-86E82C6D11FC}

当我使用时:

jQuery("#{44C80A95-F3E4-40DA-9A97-50CADFFFED61}-{DD02CEA7-CC2B-4E4A-A725-86E82C6D11FC}").attr("width","100%");

它给了我这个错误:

Uncaught Error: Syntax error, unrecognized expression: #{44C80A95-F3E4-40DA-9A97-50CADFFFED61}-{DD02CEA7-CC2B-4E4A-A725-86E82C6D11FC} 

问题在于“{”。

如何解决这个问题?

【问题讨论】:

  • welp,2 次偷窥已经击败了我,但他们是正确的。这只是我讨厌 Sharepoint 并且将永远再次签订使用它的合同的另一个原因!您可以查看我的博客,了解我见过的最疯狂的问题之一 -> spyk3lc.blogspot.com/2012/11/…

标签: jquery


【解决方案1】:

通过转义括号?

jQuery("#\{44C80A95-F3E4-40DA-9A97-50CADFFFED61\}-\{DD02CEA7-CC2B-4E4A-A725-86E82C6D11FC\}").attr("width","100%");

灵感来源:jquery escape square brackets to select element

或更好,请参阅 Milind Anantwar 答案使用$("[id='anything here']")

【讨论】:

  • 以前试过这个,但我得到了同样的错误,不知道为什么。
【解决方案2】:

根据docs

使用任何元字符(例如 !"#$%&'()*+,./:;?@[]^`{|}~ )作为 a 的文字部分名称,必须用两个反斜杠转义:\\。例如,id="foo.bar"的元素,可以使用选择器$("#foo\\.bar")

您需要在选择器中转义特殊字符或改用名称值属性:

 jQuery("[id='{44C80A95-F3E4-40DA-9A97-50CADFFFED61}-{DD02CEA7-CC2B-4E4A-A725-86E82C6D11FC}']").attr("width","100%");

【讨论】:

    猜你喜欢
    • 2023-04-02
    • 2013-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-21
    • 1970-01-01
    相关资源
    最近更新 更多