jQuery选择器因字符串中的双引号而失败[重复]

Posted

技术标签:

【中文标题】jQuery选择器因字符串中的双引号而失败[重复]【英文标题】:jQuery selector fails with double quotes in string [duplicate] 【发布时间】:2021-06-22 08:43:30 【问题描述】:

我将以下选择器与包含双引号的字符串一起使用:

var something = 'This string contains "double" quotes';

$('*[my-data-attribute="' + something + '"]').click(function () 

);

这给出了:

未捕获的错误:语法错误,无法识别的表达式

解决这个问题的最佳方案是什么?

【问题讨论】:

你试过用反引号(``)代替单引号吗? 这能回答你的问题吗? quotes in Jquery selectors 使用:$('*[my-data-attribute="' + something.replace(/"/g, '\\"') + '"]') 使用\斜线,这是管理单引号和双引号的最佳或简单的方法。 【参考方案1】:

您不能使用一个单引号和第二个双引号。您需要使用相同的引号,例如

var something = 'This string contains "double" quotes';

$('*[my-data-attribute="" + something + ""]').click(function () 

);

【讨论】:

嗨,欢迎来到 SO。您可以创建一个 sn-p(编辑并单击 [<>],复制您的代码并从左侧的选项中添加 jquery)来演示您的代码工作。在这种情况下,您的代码会给出类似的错误:Syntax error, unrecognized expression: *[my-data-attribute="" + something + ""] Using "" doesn't "escape" the quote in javascript(它可能是其他语言(VB?))

以上是关于jQuery选择器因字符串中的双引号而失败[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Snowflake COPY INTO 在数据值中的双引号值上失败

正则表达式用于选择花括号内的双引号而忽略外部的引号

由于列中的双引号超过 2 个,sqlldr 失败

如何用撇号替换字符串中的双引号(不是指定它是字符串的外部双引号)

jQuery中的单引号或双引号[重复]

Kafka 连接器记录写入器因缺少要分配的内存而卡在 S3OutputStream 中,但在几个小时内保持空闲状态并没有失败