为什么在html库中转义“`”?

为什么在html库中转义“`”?,html,Html,对于HTML,我注意到一些库是“转义”的。我的问题是为什么?第一次我想他们这么做可能只是因为我看到了不止一个人这么做,但不是全部。我不记得我从头顶上看了什么,但我记得的其他人是& 我知道&用于转义字符,如make&;也就是&。进行转义以避免混淆开始/结束标记,这样,如果出于某种原因需要,您可以放入标记属性。但为什么呢?我是否还缺少任何其他应转义的字符?因为在HTML下,单引号字符“可用于分隔元素属性,而不是双引号,如下所示: <p class='something'></

对于HTML,我注意到一些库是“转义”的。我的问题是为什么?第一次我想他们这么做可能只是因为我看到了不止一个人这么做,但不是全部。我不记得我从头顶上看了什么,但我记得的其他人是&


我知道&用于转义字符,如make&;也就是&。进行转义以避免混淆开始/结束标记,这样,如果出于某种原因需要,您可以放入标记属性。但为什么呢?我是否还缺少任何其他应转义的字符?

因为在HTML下,单引号字符“可用于分隔元素属性,而不是双引号,如下所示:

<p class='something'></p>

但是,字符通常不需要转义,但最好是安全的。

在HTML中,“和”可以互换。两者都可用于设置元素的属性,也可用于在JavaScript中表示字符串:

<img src="bob.png" />

<img src='bob.png' />

单引号被转义,因为它只能在某些上下文中按原样使用。在编写转义函数时,总是转义函数更容易、更快,因此不必考虑上下文

例如,如果使用双引号表示属性值,则可以在其中安全地使用单引号。但是,如果使用单引号表示属性值,则不能使用。

原因与此相同。另请参见:和可能的重复项