请考虑此代码。单个反斜杠在img标签中有效,而在button标签中无效:
<body>
<h4>This is Me.</h4>
<img src='C:\Users\foo\Pictures\Camera Roll\pic1.jpg' height="100px" width="100px" id="myImage">
<button onclick='document.getElementById("myImage").src="C:\Users\foo\Pictures\Camera Roll\pic2.jpg"'>This is you</button>
</body>
当我单击按钮时,什么也没有发生。图像不变。
现在,如果我在按钮标签中将反斜杠更改为正斜杠,那就可以了!
<button onclick='document.getElementById("myImage").src="C:/Users/foo/Pictures/Camera Roll/pic2.jpg"'>This is you</button>
无法找出问题所在。
有任何线索吗?
答案 0 :(得分:2)
反斜杠是转义字符,因此在反斜杠后加上的任何内容都会有不同的解释。
为此,请添加一个额外的反斜杠,以避开您打算在地址中放入的反斜杠,例如,将单反斜杠\
替换为双反斜杠\\
,它应该可以正常工作。 / p>
答案 1 :(得分:1)
onclick
属性的值为JavaScript。在JavaScript中,\
是转义字符,要表达文字\
,您需要对其进行转义(即\\
)。
由于您没有这样做,所以最终得到的字符串是: C:UsersooPicturesCamera Rollpic2.jpg
console.log("C:\Users\foo\Pictures\Camera Roll\pic2.jpg");
src
属性的值不是JavaScript。 \
不是纯HTML中的转义字符。
您可以使用\
来代替/
,因为: