使用document.write()在页面上显示图像

时间:2013-12-16 23:20:00

标签: javascript html image

我正在尝试使用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);

3 个答案:

答案 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\">");