2017-01-01 82 views
0

这里是我的问题<!DOCTYPE HTML PUBLIC “.....”>和<!DOCTYPE html>在Eclipse中

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html> 
<head> 
<meta charset="UTF-8"></meta> 
<title>Insert title here</title> 
<script type="text/javascript"> 
    var arr = [ "A", "B", "C" ]; 

    for (var i = 0; i < arr.length; i++) { 
     document.write(arr[i]);; 
    } 
</script> 
</head> 
<body> 
</body> 
</html> 

的HTML代码在行for (var i = 0; i < arr.length; i++)它显示的错误The content of elements must consist of well-formed character data or markup a.' <'和'arr.length'
如果我取消'<'和'arr.length'之间的空格,那么它会显示另一个错误Element type "arr.length" must be followed by either attribute specifications, ">" or "/>".
因此认为代码似乎没有任何问题,改变“doctype”的声明<<!DOCTYPE html>
然后一切顺利l,现在我可以通过更改doctype声明来解决问题。
但是,如果html文件只需要<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">的文档类型声明并且我也不希望它显示不必要的错误,该怎么办?
谢谢!

回答

1

您需要添加<![CDATA]这里:

<script type="text/javascript"> 
    //<![CDATA[ 
    var arr = [ "A", "B", "C" ]; 

    for (var i = 0; i < arr.length; i++) { 
     document.write(arr[i]);; 
    } 
    //]]> 
</script> 
+1

谢谢,我搜一下CDATA相关信息,是被视为不是一个XML元素时,该代码是在CDATA块的js代码? – jacky

+0

@jacky你是对的... CData是内容数据。 ':)' –

相关问题