2017-01-02 102 views
-4

我不确定为什么发生这种情况,但每当我做了以下this.src路径移除反斜杠文件

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

它输出的源代码

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

为什么以下它删除反斜杠?

+2

“它在源代码中输出以下内容”? Javascript不会更改源代码。你在看DOM吗?怎么样? – Luaan

+0

现在在IE中被称为视图源的检查元素,这就是为什么我这样说。 – Jordan

+1

这不是事实。这两者非常不同 - 其中一个显示了源代码,因为它来自服务器的HTML,另一个显示DOM以人类可读(可用)的方式进行格式化 - 基本上将DOM转换回具有一些额外功能的HTML。 – Luaan

回答

4

A \表示在JavaScript字符串文字中开始an escape sequence

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

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

+0

在我的代码中,我有清理它的目的。谢谢你切换到正斜杠解决。那种奇怪的双行为方式。 – Jordan

+3

@Jordan你为什么要那样做?向我们展示**实际**代码并停止浪费每个人的时间。坦率地说,我不相信你,因为https://jsfiddle.net/6r9ugzbs/1/ – ceejayoz

+2

@Jordan不要那样做。把你的实际代码放在那里 - 这不是“清理”,它使得样本完全没有价值。 – Luaan

1

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

+0

虽然这是真的,但OP确实需要更多地了解这里发生的事情,因为它们有时可能需要字符串中的反斜杠。 – ceejayoz

相关问题