为什么“`不能用来逃避单引号?

如前所述,HTML中的单引号何时变得如此受欢迎? 和jqueryembedded的引用属性 ,HTML上的Wikipedia条目说明如下:

单引号字符(')用于引用属性值时,还必须转义为'' (除非在XHTML文档中'否则不应该将其作为'除XHTML文档'外)在属性值本身内出现。

为什么不应该' 使用? 而且,“是" 可以安全地使用,而不是使用"

" 在有效的HTML 4实体的正式列表上, 不是。

从C.16。 命名字符引用' :

所命名的字符引用' (撇号,U + 0027)在XML 1.0中引入,但不出现在HTML中。 因此作者应该使用' 而不是' 在HTML 4用户代理中按预期工作。

' 不是HTML 4标准的一部分。

" 是,但是,这是很好的使用。

" 在HTML5和HTML4中均有效。

' 在HTML5中有效,但不在HTML4中 。 但是,大多数浏览器支持' 对于HTML4无论如何。

如果您需要编写语义正确的标记,即使在HTML5中,也不能使用' 逃避单引号。 虽然,我可以想象你实际上意味着撇号,而不是单引号。

单引号和撇号在语义上是不一样的,尽pipe它们可能看起来相同。

这是一个撇号。

使用’ 插入它,如果你需要HTML4的支持。

在英式英语中,单引号是这样使用的:

“他告诉我”试试看“,”我说。

行情是成对的。 您可以使用:

<p><q>He told me to <q>give it a try</q></q>, I said.<p>

以语义正确的方式嵌套引号,推迟将实际字符replace为渲染引擎。 这个replace可以被CSS规则影响,例如:

 q { quotes: '"' '"' '<' '>'; } 

一个旧的,但看似仍然相关的文章关于语义上正确的标记: 与EM'EN(和其他阴影字符)的麻烦 。

如果你真的需要单引号,撇号,你可以使用

 html | numeric | hex &lsquo; | &#145; | &#x91; // for the left/beginning single-quote and &rsquo; | &#146; | &#x92; // for the right/ending single-quote