我在javascript中遇到了CDATA问题

时间:2013-02-13 17:36:57

标签: javascript html css

我是javascript的新手我已经完成了C ++ C#VB。但是这本javascript书很难理解,它只是练习没有完整的代码来看待。无论如何我正在做一个简单的项目,但我不明白我哪里错了。 CDATA是我认为我出错的地方。这是我的第二个项目,第一个很容易,直到CDATA和Var,我得到了Stuck。我知道这段代码已经过时了,但是我正在按照这本书来学习基本的JS并继续努力。下面是代码:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Largest Islands</title>
<meta http-equiv="content-type" content="text/html; charset=iso-
8859-1" />
</head>
<body>
<h1>Largest Islands</h1>
<script type="text/javascript">
/* <![CDATA[ */
var island1Name = "Greenland";
var island2Name = "New Guinea";
var island3Name = "Borneo";
var island4Name = "Madagascar";
var island5Name = "Baffin";
var island1Size = 2175600;
var island2Size = 790000;
var island3Size = 737000;
var island4Size = 587000;
var island5Size = 507000;
document.write("<p>The largest island
in the world is " + island1Name
+ " with " + island1Size + " miles.</p>");
document.write("<p>The second largest island
in the world is " + island2Name
+ " with " + island2Size + " miles.</p>");
document.write("<p>The third largest island
in the world is " + island3Name
+ " with " + island3Size + " miles.</p>");
document.write("<p>The fourth largest island
in the world is " + island4Name
+ " with " + island4Size + " miles.</p>");
document.write("<p>The fifth largest island
in the world is " + island5Name
+ " with " + island5Size + " miles.</p>");
/* ]]> */
</script>
</body>
</html>

这是一个非常简单的项目我只需要一些帮助来弄清楚我哪里出错了。提前谢谢

4 个答案:

答案 0 :(得分:0)

在本地运行它,JavaScript错误控制台可以清楚地说明问题所在。它甚至可以为您提供行号。

document.write("<p>The largest island
in the world is " + island1Name...

您不能在JavaScript字符串中间换行。

document.write("<p>The largest island in the world is " + island1Name...

的工作原理。您需要修复所有这些,并开始使用每个主要浏览器中可用的开发工具。

答案 1 :(得分:0)

我认为问题来自打破字符串行

而不是

document.write("<p>The largest island
in the world is " + island1Name

尝试

document.write("<p>The largest island" 
+ "in the world is " + island1Name

答案 2 :(得分:0)

您的问题是JavaScript中不允许使用这样的多个行字符串:

document.write("<p>The second largest island
in the world is " + island2Name

如果你在错误的地方摆脱了这些新行,代码就可以了。这条线现在看起来像这样:

document.write("<p>The second largest island in the world is " + island2Name

示例:http://jsbin.com/igowel/1/edit

要继续使用JavaScript,请习惯使用控制台和开发人员工具。对于Chrome,请查看此问答:How do I use the JavaScript Console in Google Chrome?

答案 3 :(得分:0)

我认为您的问题是此处的换行符。 你的代码:

document.write("<p>The largest island
in the world is " + island1Name
+ " with " + island1Size + " miles.</p>");

应该是:

document.write("<p>The largest island in the world is " + island1Name
+ " with " + island1Size + " miles.</p>");

如果你在一行中开始一个字符串而你没有结束它会导致换行错误。 此外,我建议您使用firefox进行开发,以及可以调试脚本的firebug。