Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery在属性中嵌入引号_Javascript_Jquery - Fatal编程技术网

Javascript Jquery在属性中嵌入引号

Javascript Jquery在属性中嵌入引号,javascript,jquery,Javascript,Jquery,我有一个从数据库填充的自定义属性。此属性可以包含这样的嵌入单引号 MYATT='Tony\'s Test' $('#MY_DESC').val($(recdata).attr('MYATT')); 在我的代码中,我使用jquery将该属性复制到如下字段中 MYATT='Tony\'s Test' $('#MY_DESC').val($(recdata).attr('MYATT')); MY_DESC是对话框中的文本字段。当我显示对话框时,我在字段中看到的是 托尼\ 我需要看到

我有一个从数据库填充的自定义属性。此属性可以包含这样的嵌入单引号

  MYATT='Tony\'s Test'
 $('#MY_DESC').val($(recdata).attr('MYATT'));
在我的代码中,我使用jquery将该属性复制到如下字段中

  MYATT='Tony\'s Test'
 $('#MY_DESC').val($(recdata).attr('MYATT'));
MY_DESC是对话框中的文本字段。当我显示对话框时,我在字段中看到的是

托尼\

我需要看到的是

托尼的测试


如何解决此问题以查看整个字符串?

在设置文本字段的值之前,可以尝试对字符串运行正则表达式以删除字符串中的所有反斜杠。

在设置文本字段的值之前,您可以尝试对字符串运行正则表达式,以删除字符串中的所有反斜杠。

尝试:

MYATT='Tony&#x27s Test'
我没有用HTML规范验证这一点,但条目上说:

以这种方式“转义”字符的功能允许将字符<和&(分别写为和&;)解释为字符数据,而不是标记。例如,literal<通常表示标记的开始,而&通常表示字符实体引用或数字字符引用的开始;以&;或&;或&;允许&包含在元素的内容或属性的值中。用于引用属性值的双引号字符(“)也必须转义为“或";或";当它出现在属性值本身中时。用于引用属性值的单引号字符(')也必须作为';或';(除非在XHTML文档中,否则不应将其转义为&apos;),当它出现在属性值本身中时。然而,由于文档作者经常忽略转义这些字符的需要,浏览器往往非常宽容,只有在后续文本似乎证实了这一意图时才将它们视为标记。

尝试:

我没有用HTML规范验证这一点,但条目上说:

以这种方式“转义”字符的功能允许将字符<和&(分别写为和&;)解释为字符数据,而不是标记。例如,literal<通常表示标记的开始,而&通常表示字符实体引用或数字字符引用的开始;以&;或&;或&;允许&包含在元素的内容或属性的值中。用于引用属性值的双引号字符(“)也必须转义为“或";或";当它出现在属性值本身中时。用于引用属性值的单引号字符(')也必须作为';或';(除非在XHTML文档中,否则不应将其转义为&apos;),当它出现在属性值本身中时。然而,由于文档作者经常忽略转义这些字符的需要,浏览器往往非常宽容,只有在后续文本似乎证实了这一意图时才将它们视为标记。


如果不使用双引号,请将自定义属性放入双引号中:)
如果没有,我建议转义该值。

如果不使用双引号,请将自定义属性放入其中:) 如果没有,我建议转义该值。

如果执行此操作:

警报($(recdata.attr('MYATT'))

您将看到“Tony\”的相同结果,这意味着浏览器没有正确使用该值。在这种情况下,转义的\'值不起作用

您是否有办法在生成这些值时对其进行编辑?在渲染之前,是否可以解析它们以包含转义值?

如果执行此操作:

警报($(recdata.attr('MYATT'))

您将看到“Tony\”的相同结果,这意味着浏览器没有正确使用该值。在这种情况下,转义的\'值不起作用


您是否有办法在生成这些值时对其进行编辑?你能在渲染之前解析它们以包含转义值吗?

我可以删除反斜杠,我需要的是嵌入的引号。我可以删除反斜杠,我需要的是嵌入的引号。