Html this.src删除文件路径中的反斜杠

Html this.src删除文件路径中的反斜杠,html,Html,我不确定为什么会发生这种情况,但每当我做以下事情时 <img src=\"Images\\{reader[2]}\" onmouseover=\"this.src='Images\\White\\{reader[2]}';\"> 它在源代码中输出以下内容 <img onmouseover="this.src='Images\White\settings.png';" src="ImagesWhitesettings.png"> 为什么要删除反斜

我不确定为什么会发生这种情况,但每当我做以下事情时

    <img src=\"Images\\{reader[2]}\" onmouseover=\"this.src='Images\\White\\{reader[2]}';\">


它在源代码中输出以下内容

    <img onmouseover="this.src='Images\White\settings.png';" src="ImagesWhitesettings.png">


为什么要删除反斜杠?

A
\
表示JavaScript字符串文本中的开始

要将
\
包含为数据,必须使用转义序列:
\


也就是说,URL使用
/
而不是
\
作为路径分隔符。

尝试使用前斜杠“/”,因为反斜杠用于转义字符。

虽然这是事实,但OP确实需要了解更多关于这里发生的事情,因为它们有时可能需要字符串中的反斜杠。@Jordan为什么要这样做?向我们展示实际的代码,不要浪费每个人的时间。一、 坦白说,不要相信你,因为@Jordan不会这么做。将您的实际代码放在那里-这不是“清理”,而是使示例变得毫无价值。@Jordan-如果发送到浏览器的HTML中嵌入的JS中包含
\
,您将无法获得所描述的结果。其他因素也必须涉及。“double适用于我的img src,所以从逻辑上讲它应该适用于onmouseover。”不,因为
src
只是HTML,
onmouseover
包含JavaScript代码。@Jordan好的,现在很明显,您需要进行双重编码。您的代码(不管它是什么,C#?)对反斜杠进行编码,但是您需要再次对其进行编码以使其成为有效的Javascript。您实际上需要四个反斜杠:)“它在源代码中输出以下内容”?Javascript不会更改源代码。你在看DOM吗?怎么做?IE中现在称为inspect元素的东西过去被称为view source,这就是为什么我这么说的原因。这不是真的。这两个版本非常不同——一个以HTML的形式显示源代码,另一个以人类可读(且可用)的方式格式化DOM——基本上将DOM翻译回HTML,并附带一些额外的功能。