W3C - 文档类型不允许元素" a"这里

时间:2014-08-07 00:45:44

标签: javascript xhtml w3c

我一直在尝试通过W3C在XHTML 1.0 Strict中验证我的网站代码。

我的上一个错误我现在无法修复:

"document type does not allow element "a" here"

这是因为我通过以下代码“隐藏”了机器人的电子邮件地址:

<td><script type="text/javascript">var name="contact";var domain="theriff.fr";document.write('<a href="mail'+'to:'+name+'@'+domain+'">&#x63;&#x6F;&#x6E;&#x74;&#x61;&#x63;&#x74;&#x40;&#x74;&#x68;&#x65;&#x72;&#x69;&#x66;&#x66;&#x2E;&#x66;&#x72;</a>');</script></td>

有谁知道我怎么能保持电子邮件地址有点“隐藏”,并且仍然在W3C验证最后一个错误?

提前感谢!

1 个答案:

答案 0 :(得分:1)

对于XML解析器,看起来你在<a>元素中有一个<script>元素(解析器不懂JavaScript)。

<script>元素中声明CDATA section

<script type="text/javascript">
    // <![CDATA[
        // JavaScript here
    // ]]>
</script>

这告诉解析器不解析(即解释为XML)CDATA部分内部的内容。分隔符之前的//可能是必要的,以防止JS引擎在浏览器将它们传递给JS引擎时解释它们。

另请参阅:Properly Using CSS and JavaScript in XHTML Documents


旁注: You can't use document.write in XHTML documents:

  

注意:document.write(如document.writeln)在XHTML文档中不起作用(错误控制台上会出现“操作不受支持”(NS_ERROR_DOM_NOT_SUPPORTED_ERR)错误)。如果打开具有.xhtml文件扩展名的本地文件或使用application / xhtml + xml MIME类型提供的任何文档,则会出现这种情况。有关详细信息,请参阅W3C XHTML FAQ