2011-11-05 95 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片段