为什么不能用“”来转义单引号呢?

什么时候 HTML 中的单引号变得如此流行了?Jquery 在属性中嵌入引号所述,超文本标示语言上的维基百科条目说明如下:

当单引号字符(’)用于引用属性值时,当它出现在属性值本身中时,也必须转义为 ''(除了在 XHTML 文档中,不应该转义为 ')。

为什么不应该使用 '? 还有,使用 "代替 "安全吗?

306392 次浏览

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

但是,使用 "是可以的。

"在有效 HTML 4实体的正式名单上,但 '不在。

来自 命名字符引用’:

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

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

html    | numeric | hex
‘ | ‘  | ‘ // for the left/beginning single-quote and
’ | ’  | ’ // for the right/ending single-quote

"在 HTML5和 HTML4中都是有效的。

'HTML5中是有效的,但是在 HTML4中不是。然而,大多数浏览器支持 '支持 HTML4。

如果需要编写语义正确的标记,即使是在 HTML5中,也必须使用 '转义单引号。不过,我能想象你说的是撇号而不是单引号。

单引号 撇号在语义上并不相同,尽管它们看起来可能相同。

这里有一个撇号。

如果需要支持 HTML4,可以使用 '插入它

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

“他让我‘试一试’,”我说。

引号是成对出现的,你可以使用:

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

以语义正确的方式嵌套引号,将实际字符的替换推迟到呈现引擎。这种取代可能会受到 CSS 规则的影响,比如:

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

一篇关于语义正确标记的老文章: EM‘ n EN (和其他阴性字符)的问题

(编辑) 这曾经是:

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

但是,正如@James _ photo 所指出的,这不是单引号,而是“单曲引号,对吧”。