javascript - 按钮更改图像
问题描述
这是我的代码。我是 JavaScript 新手,这是我的第一个代码(我已经盯着它看了两天,不知道出了什么问题)。
我正在尝试编写一个 HTML 页面,它允许用户通过单击一个按钮来更改图像,并通过单击另一个按钮返回到原始图像。
当我执行它时,第一张图像与两个按钮一起显示,但是当我单击其中任何一个按钮时,图像就会变成空白。
<!DOCTYPE html>
<html>
<body>
<button onclick="document.getElementById('IMG').src = 'C:\Users\Username\Desktop\firstcode\img2.jpg'">IMAGE 2</button>
<img id="IMG" src="C:\Users\Username\Desktop\firstcode\img1.gif">
<button onclick="document.getElementById('IMG').src = 'C:\Users\Username\Desktop\firstcode\img1.jpg'">IMAGE 1</button>
</body>
</html>
我怎样才能解决这个问题?
解决方案
在 JavaScript 字符串文字中,\
是转义字符,而不是文字字符。这样我们就可以使用\n
换行符、\t
制表符等。要将文字\
放入您分配给src
属性的字符串中,您需要\\
:
<button onclick="document.getElementById('IMG').src = 'C:\\Users\\Username\\Desktop\\firstcode\\img2.jpg'">IMAGE 2</button>
<img id="IMG" src="C:\Users\Username\Desktop\firstcode\img1.gif">
<button onclick="document.getElementById('IMG').src = 'C:\\Users\\Username\\Desktop\\firstcode\\img1.jpg'">IMAGE 1</button>
您不必在img
标记中执行此操作,因为\
它不是 HTML 中的转义字符。
旁注:只是为了警告您人们遇到的一个常见陷阱:如果您的button
元素在 a 中form
,他们会尝试提交表单,因为(在我看来非常type
令人惊讶的)button
元素的默认值是"submit"
. 为了防止它,你会使用<button type="button" ...>
. 但这在您展示的内容中不是问题,因为它们不在form
.
享受你的学习!接下来要看几件事:
通过
addEventListener
而不是onxyz
-attribute 样式的事件处理程序(也称为“DOM0”处理程序,因为它们多年来没有在任何DOM标准中指定)使用现代事件处理。(如果您想了解支持没有它的过时浏览器,我的回答在这里有一些您可以使用的东西。)使用本地安装的 Web 服务器(您可以选择很多)而不是直接打开 HTML 文件。这是因为浏览器处理直接打开的 HTML 文件(例如
file:///
URL)与从服务器加载的 HTML 不同,因此如果您的目标是学习 Web 应用程序或页面的编程,最好使用 Web 服务器。
推荐阅读
- wordpress - 我如何为每个 WooCommerce 产品类别创建不同的菜单?
- php - 如何将此目录安全地放置在我的文件夹结构中?
- html - 轮播中的图像不适合
- reactjs - 带有 React Hooks 的可重用下拉列表
- excel - 如果条件不匹配,则添加错误消息
- java - Java - 对登录页面进行发布请求
- batch-file - 在 ASCII Converting Batch 脚本中正确使用 EnableDelayedExpansion
- gcc - gcc 的宏扩展问题
- java - Android Studio - 语音识别器 - onResults
- python - 从txt文件中提取连续的文本部分