使用document.write()在页面上显示图像
Showing images on a page with document.write()
我试图在使用document.write()的javascript文件中发布图像。问题是,当我尝试时,图像总是会被破坏。这是代码。我写错标签了吗?我在非javascript页面上测试了这些图像,它们似乎显示得很好。
var replay = "yes";
var userChoice = prompt("Do you choose rock, paper or scissors?");
userChoice = userChoice.toLowerCase();
var computerChoice = Math.random();
if (computerChoice < 0.34) {
computerChoice = "rock";
} else if (computerChoice <= 0.67) {
computerChoice = "paper";
} else {
computerChoice = "scissors";
}
var compare = function (choice1, choice2) {
if (choice1 === choice2) {
document.write("The result is a tie!");
}
if (choice1 === "rock") {
if (choice2 === "scissors") {
document.write('<img src="images'orna.jpg'">');
} else {
document.write("Computer chose paper. Computer wins.");
}
}
if (choice1 === "paper") {
if (choice2 === "scissors") {
document.write("Computer chose scissors. Computer wins.");
} else {
document.write("Computer chose rock. Player wins.");
}
}
if (choice1 === "scissors") {
if (choice2 === "paper") {
document.write("Computer chose paper. Player wins.");
} else {
document.write("Computer chose scissors. Computer wins.");
}
}
};
compare(userChoice, computerChoice);
你几乎做到了,我认为你只需要用斜杠替换反斜杠:'<img src="images/orna.jpg">'
。这里有一个演示(点击"运行"直到获胜):
var replay = "yes";
var userChoice = prompt("Do you choose rock, paper or scissors?");
userChoice = userChoice.toLowerCase();
var computerChoice = Math.random();
if (computerChoice < 0.34) {
computerChoice = "rock";
} else if (computerChoice <= 0.67) {
computerChoice = "paper";
} else {
computerChoice = "scissors";
}
var compare = function(choice1, choice2) {
if (choice1 === choice2) {
document.write("The result is a tie!");
}
if (choice1 === "rock") {
if (choice2 === "scissors") {
document.write('<img src="https://i.stack.imgur.com/gLr3o.jpg?s=128&g=1">');
} else {
document.write("Computer chose paper. Computer wins.");
}
}
if (choice1 === "paper") {
if (choice2 === "scissors") {
document.write("Computer chose scissors. Computer wins.");
} else {
document.write("Computer chose rock. Player wins.");
}
}
if (choice1 === "scissors") {
if (choice2 === "paper") {
document.write("Computer chose paper. Player wins.");
} else {
document.write("Computer chose scissors. Computer wins.");
}
}
};
compare(userChoice, computerChoice);
不要使用document.write()
。它是有害的。相反,您需要做的是创建一个<div></div>
并向其添加内容。
无论如何,你的东西不起作用的原因是你有未转义的'
s。例如,如果你有<img src="images'orna.jpg'">
,则'
s充当转义符,并被忽略。字符串"的计算结果为'<img src="imagesorna.jpg">'
,这绝对不是您想要的。确保文件路径正确,如果正确,您需要将其更改为
'<img src="images''orna.jpg''">'
无论如何,创建一个div
,然后使用jQuery或纯Javascript将元素附加到它们。您可以通过访问其innerHTML
或使用.append()
jQuery方法
我同意scrblndr3关于document.write不好的观点。读一读。
为了帮助你理解问题所在,这里有一些解释。
首先,"''"是Windows特定的文件路径段分隔符。浏览器和任何基于unix的东西都使用"/"来分隔路径的段。其次,在您的路径字符串中,您可以转义最后的双引号,因为您的字符串被单引号包裹,这是不必要的,而且是破坏性的。正确的命令是:
document.write('<img src="images/orna.jpg">');
或者,如果你的字符串是双引号,你就必须转义内部双引号,比如:
document.write("<img src='"images/orna.jpg'">");
相关文章:
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何在生成下载文件时显示加载动画
- React重新渲染但未显示正确的组件
- nodejs-expressjs上传图像并显示它们
- 使用JSP从服务器检索和显示图像
- 音频控件在mouseover上显示,在mouseout上淡出
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- 显示5秒后隐藏潜水
- 画廊图像未显示
- 不显示带有本地json文件数据的谷歌地图脚本
- 如何将json数据显示为html
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 高亮显示时编辑文本大小和颜色
- 有时数据是't显示在浏览器中
- 当鼠标悬停在文本中的单词上时显示警报
- 角度图表;t显示在我的页面中
- 显示图工具提示显示x轴的最后日期值,而不是当前值