2011-11-05 96 views
1

我試圖表現出以下DOCTYPE /隱藏內容: !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"JavaScript驗證W3C

這裏是我的javascript:

<script type="text/javascript"> function question(clicked) { 
     var q = document.getElementsByTagName("div"); 
     for(var x=0; x<q.length; x++) { 
      title = q[x].getAttribute("title"); 
      if (title == 'q') { 
        if (q[x].id == clicked) { 
         if (q[x].style.display == 'block') { 
           q[x].style.display = 'none'; 
         } 
         else { 
           q[x].style.display = 'block'; 
         } 
        }else { 
         q[x].style.display = 'none'; 
        } 

      } 
     } } </script> 

在驗證,則返回這些錯誤: 1.錯誤行9,第30欄:字符「;」不允許在屬性規範列表

 for(var x=0; x<q.length; x++) { 
  1. 錯誤行9,柱30:元件 「q.length」 未定義

    for(var x=0; x<q.length; x++) { 
    
  2. 錯誤行25,第9列:用於端「Q標籤。長度」省略,但OMITTAG NO指定

  3. 信息行9,科拉姆ñ21:開始標記在這裏

    for(var x=0; x<q.length; x++) { 
    

我學習JavaScript現在,並且已經通過,現在試圖谷歌&修復這個約3打的方式。誰能幫我?如果我需要嘗試使用不同的腳本來顯示/隱藏,那麼我現在就放棄我所擁有的功能並執行此操作。

在此先感謝!

+0

你在頁面的哪個位置放置了'

6

使用CDATA部分。 <對解析器有特殊的含義。

<script> 
//<![CDATA[ 
...JavaScript code.. 
//]]></script> 

驗證器檢測到<,並試圖解析一個新的標籤<q.length。當分號被發現時,解析器不知道如何處理它,並拋出錯誤。通過使用CDATA,您可以有效地說:「這一部分中的任何內容不應被解釋爲純文本,而不是解析

http://validator.w3.org/check您的代碼粘貼(通過直接輸入驗證),使用以下設置:」驗證文檔片段,XHTML 1.0" 。

+0

感謝您的回答!不幸的是,它似乎沒有做到這一點..我應該減少

  • 11. W3C標記驗證服務
  • 12. HTML5錯誤W3C驗證
  • 13. W3C驗證程序和HTTPS
  • 14. W3C驗證錯誤在XSLT
  • 15. W3C驗證Twitter部件
  • 16. css3不會驗證w3c valdidator
  • 17. W3C驗證生成錯誤
  • 18. Cakephp ajax更新驗證w3c
  • 19. W3c驗證器遞歸
  • 20. 無法通過W3C驗證
  • 21. Nginx上的W3C驗證器
  • 22. 雙ID的W3C驗證php
  • 23. w3c驗證目標空白
  • 24. th colspan失敗w3c驗證
  • 25. data-cfasync來驗證(W3C)
  • 26. W3C標記驗證錯誤
  • 27. W3C驗證返回403 Forbidden
  • 28. W3C驗證錯誤=日期
  • 29. w3c驗證程序HTML5 xmlns
  • 30. W3C驗證錯誤使用此JavaScript片段