jQuery语法错误,无法识别的表达式 - 使用{

时间:2014-06-18 14:17:50

标签: jquery

我在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} 

问题出在" {"。

如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

根据docs

  

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

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

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

答案 1 :(得分: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']")