我在标记验证中收到此错误:
警告第23行,第23栏:字符“<”是分隔符的第一个字符,但是作为数据出现
for (var i = 0; i < array.length; i++) {
“&lt;”是否有问题以下js中的字符?
function preloadImages(array) {
if (!preloadImages.list) {
preloadImages.list = [];
}
for (var i = 0; i < array.length; i++) {
var img = new Image();
img.src = array[i];
preloadImages.list.push(img);
}
}
答案 0 :(得分:2)
看起来您的文档是XHTML并且您的Javascript是内联的。至少你似乎在验证XHTML。由于XHTML相当严格且更接近XML,<
被解释为新标记的开头并使验证者感到困惑。
有很多方法可以解决这个问题:
使用HTML5代替XHTML;实际上,除非你有充分的理由坚持使用XHTML,否则这通常是最好的选择。它被所有主流浏览器所理解,并且是最新且最现代的doctype,它允许Web 2.0的所有酷炫新功能。 HTML5的doctype如下所示:
<!DOCTYPE html>
<html>
....
不要内联您的Javascript,而是将其添加为外部资源。无论如何,无论你使用什么doctype,你都应该一直这样做:
<script type="text/javascript" src="yourScript.js"></script>
将脚本包含在CDATA块中:
<script type="text/javascript">
<![CDATA[
// your code
]]>
</script>