我正在尝试使用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);
答案 0 :(得分:1)
你几乎得到了它,我认为你只需要用斜杠替换反斜杠:'<img src="images/orna.jpg">'
。这是一个演示(点击“运行”直到获胜):http://jsfiddle.net/wared/d9wVC/。
答案 1 :(得分:0)
请勿使用document.write()
。这是有害的。相反,你需要做的是创建一个<div></div>
并附加内容。
无论如何,你的事情不起作用的原因是你没有转义\
。例如,如果您有<img src="images\orna.jpg\">
,则\
将充当转义字符,并被忽略。你的字符串''评估为'<img src="imagesorna.jpg">'
,这绝对不是你想要的。确保文件路径正确,如果是,则需要将它们更改为
'<img src="images\\orna.jpg\\">'
无论如何,创建一个div
,然后使用jQuery或纯Javascript,将元素附加到它们。您可以通过访问innerHTML
或使用.append()
jQuery方法
答案 2 :(得分:0)
我同意scrblndr3,document.write很糟糕。做一些阅读。
为了帮助您理解错误,这里有一些解释。
首先,“\”是Windows特定的文件路径段分隔符。浏览器和基于unix的任何东西都使用“/”来分隔路径的片段。其次,在你的路径字符串中,你转义最后的双引号,因为你的字符串用单引号包装,这是不必要的和破坏。正确的命令是:
document.write('<img src="images/orna.jpg">');
或者如果您的字符串是双引号,则必须转义内部双引号,如:
document.write("<img src=\"images/orna.jpg\">");