浏览器将单引号(')转换为“s”并忽略“\”,HTML / Javascript

时间:2011-02-10 20:36:29

标签: javascript html css webkit

这个问题可分为两个部分:

首先,浏览器忽略了引号的转义: 一张图片胜过千言万语:http://i.stack.imgur.com/ZmlgJ.png

此前没有发生过。这种行为何时发生变化? 另外,为什么浏览器会将单引号翻译成双引号?为什么它不需要逃避?例如:http://i.stack.imgur.com/endzi.png(检查器中的代码与浏览器窗口中的代码相同)

提前致谢!

2 个答案:

答案 0 :(得分:4)

  

首先,浏览器忽略了引号的转义

HTML不是JavaScript。引用与用于分隔该值的引号字符匹配的属性值中的字符必须由实体表示,而不是以斜杠为前缀。

<foo myAttribute="This value includes a double quote character: &quot;">
  

这在

之前没有发生过

是的,确实如此。

  

另外,为什么浏览器会将单引号翻译成双引号?

浏览器将HTML解析为DOM。在这个阶段,没有引号,只有属性和值。

使用DOM检查器时,它会序列化为HTML。双引号的使用是一种惯例。几乎所有HTML都是使用"编写的,用于分隔属性值。

特定的DOM检查员甚至没有真正序列化数据。它只是提供可视化。在这里,它使用颜色更改来标识属性值。

答案 1 :(得分:0)

我不确定这是否是您问题的原因,但似乎'Beginner's spear'部分的引号不匹配