2017-01-01 83 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是內容數據。 ':)' –

相關問題