如何逃避单一报价?

Rav*_*avi 179 html escaping

如何'在JavaScript中逃避(单引号)?

这是我正在尝试使用它的地方:

<input type='text' id='abc' value='hel'lo'>
Run Code Online (Sandbox Code Playgroud)

上面代码的结果是在文本框中填充了"hel".我试图用'和'代替,但这就是我得到的.

<input type='text' id='abc' value='hel\'lo'>
Run Code Online (Sandbox Code Playgroud)

上面代码的结果是在文本框中填充了"hel \".

我怎样才能成功逃脱单引号?

Pas*_*TIN 344

您可以使用HTML实体:

  • &#39; 对于 '
  • &#34; 对于 "
  • ...

有关更多信息,您可以查看HTML中的Character实体引用.

  • 为什么*应该*使用双引号作为属性值? (39认同)
  • @Pascal MARTIN:XML也允许使用单引号作为属性值.(见http://www.w3.org/TR/xml/#NT-AttValue) (5认同)
  • 我知道这是旧的,但我认为值得注意的是,```````有一个HTML实体. (5认同)
  • @Gumbo:喔!我不认为我曾经见过任何使用单引号arround属性值的XML文档; 所以我不认为这实际上是有效的;; 我只是*(再次)*在回答问题时学到了一些东西; 所以,谢谢你的评论! (4认同)

Ben*_*nns 59

你可以使用&apos;(IE中的iffy)或&#39;(它应该可以在任何地方使用).有关完整列表,请参阅W3C HTML5命名字符引用WebPlatform.org上HTML实体表.


Gum*_*mbo 9

当您处于HTML的上下文中时,您需要使用HTML来表示该字符.对于HTML,您需要使用数字字符引用 &#39;(&#x27;十六进制):

<input type='text' id='abc' value='hel&#39;lo'>
Run Code Online (Sandbox Code Playgroud)


And*_*Dog 7

将其表示为文本实体(ASCII 39):

<input type='text' id='abc' value='hel&#39;lo'>
Run Code Online (Sandbox Code Playgroud)


roa*_*242 6

可能是最简单的方法:

<input type='text' id='abc' value="hel'lo">
Run Code Online (Sandbox Code Playgroud)